0

バックエンドで Express.js を使用して、Safari で拡張機能を構築しています。サーバーに 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

二重のコールバックではありません。実行するのと同じfunc && func()です。関数を呼び出す前に関数が存在することを確認するだけなので、例外をスローしないでください。

于 2013-03-27T03:02:19.277 に答える
0

ヘクターはコメントでそれを正しく持っています: callback=? を削除してみてください。URLから

于 2013-03-27T01:18:22.227 に答える