Node express从单个远程ajax调用获得2个调用

时间:2014-04-10 16:58:36

标签: node.js express

我有一个简单的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次调用

:(

为什么?

谢谢,

肖恩。

1 个答案:

答案 0 :(得分:1)

它是preflighted request

因为您使用非标准内容类型浏览器首先发送OPTIONS请求,然后发送真实POST请求和您的数据。

BTW,{a: 1}是无效的JSON。它必须是{"a": 1}