getXMLHttpRequest:在javascript中创建新请求

时间:2013-05-29 12:49:05

标签: java ajax servlets

我将发送200 OK http响应以及另外3件事。

1)发送1.js

2)发送2.js

3)创建新帖子触发一些网址

我的代码是:

out.println("<html><head>");
    out.println("<script type=\"text/javascript\" src=\"/o6/s.js?cacheKey=1313487436055\"></script>");
    out.println("<script type=\"text/javascript\" src=\"/o6/s1.js?cacheKey=1313487436055\"></script>");

    out.println("<script type=\"text/javascript\">");


    out.println("function getXMLHttpRequest() {");
    out.println("alert(\"aaa\");");
    out.println("if (window.XMLHttpRequest) {");
    out.println("alert(\"aaa222\");");
    out.println("return new XmlHttpRequest();");
    out.println("} else {  try { return new(ActiveXObject)(\"MSXML2.XMLHTTP.3.0\");");
    out.println(" } catch (e) { alert(\"aaa22333\"); log(\"browser doesn support AJAX.\"); return null;  } }  }");
    out.println("function bustOut(){");
    out.println("var xhr = getXMLHttpRequest();");
    out.println("xhr.open(\"POST\",\"http://www.google.com\", true);");
    out.println("xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded; charset=UTF-8\");");
    out.println("xhr.send(\"abcinfo\");");
    out.println("};");
    out.println("</script></head> ");
    out.println("<body onLoad=\"bustOut()\"></body>");
    out.println("</html>");

运行此代码后..我收到200 Ok但是浏览器没有向s.js,s1.js发送另一个http请求,甚至没有创建post到url(google.com)。

如果我不添加onload bustOut函数,那么浏览器会向js文件发送http请求。

Plz help。代码中有任何错误。

添加:

enter image description here

如果我不添加onload代码(和函数),那么浏览器会将req发送到js文件。实际上这是第一次出现200 Ok。

1 个答案:

答案 0 :(得分:0)

return new XmlHttpRequest();中的拼写错误应该是return new XMLHttpRequest();

由于Same Origin Policy

,再次不允许向google.com发送ajax请求