我有一个简单的ajax调用,当我在服务器端(节点)调试时,我会得到2个调用... 我认为这是因为图标,但我不认为这是因为我
app.use(express.favicon( '公共/资产/的favicon.ico'));
我甚至试图抓住所有的图标,所以我很确定它不是问题所在:
app.post('/_html/favicon.ico', function (req, res) {
console.log('2222');
res.send('{"serverName": 1}');
});
这里是ajax代码:
$.ajax({
url: some_url.html,
type: "POST",
crossDomain: true,
data: '{a: 1}',
dataType: "json",
contentType: "application/json",
success: function (res) {
alert(res.serverName);
console.log(res.serverName);
},
error: function (res) {
alert("Bad thing happend! " + res.statusText);
console.log("Bad thing happend! " + res.statusText);
}
});
由于某种原因,当我在节点服务器端调试时,我总是从ajax
获得2次调用:(
为什么?
谢谢,
肖恩。
答案 0 :(得分:1)
因为您使用非标准内容类型浏览器首先发送OPTIONS
请求,然后发送真实POST
请求和您的数据。
BTW,{a: 1}
是无效的JSON。它必须是{"a": 1}
。