gpt4 book ai didi

javascript - 服务器日志在 POST 请求之前显示 GET 请求

转载 作者:行者123 更新时间:2023-11-29 15:52:29 24 4
gpt4 key购买 nike

当我查看我的服务器日志时,我看到周期性的 GET 请求在 POST 请求之前瞬间进入,来自相同的 ip 和相同的 referrer。我期待 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)"

这是js代码:

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();

最佳答案

这可能是跨源请求共享“预检”请求。参见 Additional GET requests before POST request that my code isn't making .

您需要在您的网络服务器上处理 CORS 预检请求。

关于javascript - 服务器日志在 POST 请求之前显示 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com