私は 200 OK http 応答を送信し、さらに 3 つのことを行います。
1) 1.jsの送信
2) 2.js の送信
3)いくつかのURLをトリガーする新しい投稿を作成します
私のコードは次のとおりです。
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を受け取りましたが、ブラウザは別のhttpリクエストをs.js、s1.jsに送信しておらず、URL(google.com)への投稿さえ作成していません。
onload bustOut 関数を追加しないと、ブラウザは http リクエストを js ファイルに送信します。
助けてください。コードに間違いはありませんか。
追加:
onload コード (および関数) を追加しない場合、ブラウザは req を js ファイルに送信します。実際、これは最初の 200 OK で行われます。