我有一个 iframe,它通过小书签注入到任意网页中。它指向http://localhost:5000/test
,这是一个运行以下 Javascript 的简单 HTML 页面:
$.ajax({
type: "POST",
url: "http://localhost:5000/parse",
data: {data:"hello world"}
}).done(function( msg ) {
console.log("Success!!", arguments);
}).fail(function(jqXHR, textStatus, errorThrown) {
console.log("Error", arguments);
});
我可以在网络检查器中看到调用已发出,但它一直处于(待处理)状态,直到请求在 30 秒后超时。服务器日志显示服务器根本没有受到攻击。奇怪的是,如果我删除了ajax 请求中的data参数,服务器就会被命中并且事情会按预期工作。
$.ajax({
type: "POST",
url: "http://localhost:5000/parse"
}).done(function( msg ) {
console.log("Success!!", arguments); // this works.
});
我不希望跨域策略问题成为问题,因为 iframe 和 ajax 请求目标位于同一个域中。我在这里想念什么?浏览器级别是否存在阻止此请求通过的东西?