0

我正在 Safari 中构建一个扩展,在后端使用 Express.js。我对服务器进行了 AJAX 调用,服务器以似乎是双回调名称的方式进行响应:

jQuery191026131771644577384_1364321159940 && jQuery191026131771644577384_1364321159940([
  {
    "foo": "bar"
  }
]);

这是 AJAX:

$.ajax({
    type : "GET",
    data : { 'something': 'something more'},
    url :  "http://localhost:3001/api/login/?callback=?",
    dataType: 'jsonp',
    success: function(data, text){
        console.log(data)
    },
    error: function (request, status, error) {
        console.log("ERROR: " + status + error );
    }  
});

...这是 Express.js:

app.get('/api/login', function(req, res){
  res.jsonp([{'foo':'bar'}]);
});

浏览器报告解析错误,可能是因为上面的双回调标记。

线索?

4

2 回答 2

1

它不是双重回调,它与doing相同func && func(),只是在调用之前确保函数存在,因此避免抛出异常。

于 2013-03-27T03:02:19.277 回答
0

赫克托在评论中说得对:尝试删除回调=?从网址

于 2013-03-27T01:18:22.227 回答