Hello,

Ajax methods work in http, but NOT https.

Seems due to cross-origin HTTP request.

May I know how to setup "Access-Control-Allow-Origin" in struts/jsp/servlet please?


Have tried the following but did NOT work.

(1) mainlayout.jsp
     response.addHeader("Access-Control-Allow-Origin", "*");


(2) web.xml
    <filter>
      <filter-name>cors</filter-name>
      <filter-class>CORSFilter</filter-class>
    </filter>

    <filter-mapping>
       <filter-name>cors</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>

public class CORSFilter extends OncePerRequestFilter
{
   @Override
   protected void doFilterInternal(
       HttpServletRequest  request,
       HttpServletResponse response,
       FilterChain         filterChain
   )   throws ServletException, IOException
   {
       response.addHeader("Access-Control-Allow-Origin", "*");
       filterChain.doFilter(request, response);
   }
}




example ajax method:

function test(str, url)
{
   var xmlhttp;
   if (str.length==0)
   {
      document.getElementById("txt_hint").innerHTML="";
      return;
   }
   xmlhttp=new XMLHttpRequest();

   xmlhttp.onreadystatechange=function()
   {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
         var tmp = xmlhttp.responseText;
         document.getElementById("txt_hint").innerHTML = tmp;
      }
   }
   xmlhttp.open("POST", url + "?str=" + str, true);
   xmlhttp.send();
}

Thanks a lot!


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to