1

jQuery 1.7でjsonp呼び出しを行おうとしていますが、呼び出しが返されると、次のエラーが発生します。

Uncaught TypeError:Object function(response){responseContainer = [response]; }にはメソッド'json'がありません

返されるデータを調べると、コールバック関数名に「.json」が追加されていることに気付きました。

jQuery17206211688306648284_1336426518269.json({"..."})

リクエストを行っているコードは次のとおりです。

$.ajax({
  url: "...",
  dataType: 'jsonp',
  success: function(data) {
    return console.log(data);
  }
});

答え:

adeneoが言ったように、サーバーは「json」のコールバック関数を指定しようとしていました。これは、$。ajax呼び出しで次のパラメーターを設定することによって処理されます。

jsonpCallback: 'json'
4

1 に答える 1

2

jQueryの$.ajax関数は自動的にコールバック関数をjsonpリクエストにjson()追加しますが、表示されている関数はサーバーによって追加されたように見えますが、次のことを試すことができます。

$.ajax({
  url: "...",
  dataType: 'jsonp',
  jsonp: false,
  success: function(data) {
    return console.log(data);
  }
});

jQueryの自動コールバックを無効にするには、または名前を付けて空のチェーン可能な関数を作成しますjson()

于 2012-05-07T22:03:53.317 に答える