服务器日志显示POST请求之前的GET请求

3
当我查看服务器日志时,我会看到定期的GET请求在来自相同IP和相同引荐者的POST请求之前瞬间发生。我期望收到POST请求,但不需要GET请求。有人以前见过这种情况吗?
我正在使用JavaScript在iframe内动态创建表单,以便向服务器发送POST请求。我无法使用Ajax,因为POST请求是针对不同域的。这在大约95%的时间内有效。5%的时间我会在POST请求之前收到GET请求。它似乎会从同一IP重复发生。
以下是服务器日志:
10.160.42.113 - - [16/Sep/2010:04:33:08 +0000] "GET /pixel HTTP/1.1" 200 2 "url" "Mozilla/5.0 (Windows; U; Windows NT 5.1; hu; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9 ( .NET CLR 3.5.30729)"
10.160.42.113 - - [16/Sep/2010:04:33:08 +0000] "POST /pixel HTTP/1.1" 200 2 "url" "Mozilla/5.0 (Windows; U; Windows NT 5.1; hu; rv:1.9.2.9) Gecko/20100824 Firefox/3.6.9 ( .NET CLR 3.5.30729)"

以下是JavaScript代码:

var iframe = document.createElement("iframe");
iframe.height = "0";
iframe.width = "0";
iframe.frameBorder = "0";
document.getElementById('canvas').appendChild(iframe);


var iframeDocument = iframe.contentDocument || iframe.contentWindow.document || iframe.document;
iframeDocument.open();
iframeDocument.close();


var form = document.createElement("form");
form.setAttribute("action", 'url');
form.setAttribute("method", 'POST');

for (var key in params) {
    var hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", key);
    hiddenField.setAttribute("value", params[key]);

    form.appendChild(hiddenField);
}

iframeDocument.body.appendChild(form);
form.submit();
2个回答

1

0
只是一个想法- 如果有人提交了表单,然后重新加载页面,或使用浏览器的“后退/前进”按钮会发生什么呢?他们的浏览器在通过历史记录向后移动时可能会尝试“获取”提交的目标。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接