Jquery.post无法在firefox中运行

时间:2012-01-06 06:04:01

标签: javascript jquery

我写了一个javascript,它使用Jquery.post从Web应用程序加载网页。我在iframe中显示页面。网页显示在IE中,但不在Firefox中显示。我尝试使用Firebug,但没有错误,它有一个302 OK注释。我尝试更改Jquery源也无法正常工作。尝试过JSON也没用。我试图解决这个问题超过3天。我尝试了很多方法,但效果不佳。

 <html>
  <head>
     <script      type="text/javascript"src="http://ajax.microsoft.com/ajax/jquery/jquery1.4.2.min.js">
     </script>
    <script type="text/javascript">


    function callajax()
    {
       var iframe =document.createElement("iframe");
       iframe.style.width="100%";
       iframe.style.height="100%";
       //app.getContentEl().appendChild(iframe);
       document.body.appendChild(iframe);
       jQuery.post('http://localhost:9090/simpleapp/formproc1',     {'param':'rajat'},function(html){


        var doc =iframe.contentWindow.document;
        doc.write(html);
        doc.close();
        });
        }



        </script>
        </head>

        <body>
         <p>Start typing a name in the input field below:</p>
         <span></span>
         <div id="display"></div>
         First name:

         <input type="text" />

         <button onclick="callajax()">Click me</button>
         </body>
         </html>

我也会附上post方法,因为它也可能是错误的。

      doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO自动生成的方法存根

      PrintWriter out = response.getWriter();

      String par = request.getParameter("param");

       System.out.print("Hiii this is inside POST method");

        //out.println("<data><param>"+par+"</param></data>");

        //out.println(par);

        //out.flush();

        //System.out.print(par);

         response.sendRedirect("first.jsp");

         // out.println("{\"redirect\":\"first.jsp\"}");

         }

1 个答案:

答案 0 :(得分:1)

这是因为Same origin policy。你不能使用ajax来调用外部网站。如果你真的想使用,你必须使用JSONP。或者您可以使用服务器端代理。意味着,在服务器端调用外部站点并对该Web服务进行ajax调用。

看到我的回答, $.ajax call working fine in IE8 and Doesn't work in firefox and chrome browsers