-1

次のコードを修正するのを手伝ってください、それは常にエラーを与えています

 $.ajax({
 type: "GET",
     url: "http://herokory.herokuapp.com/autocomplete/jsonpCallback/a",
     dataType:"jsonp"
 }).error(alert('error'));

URLhttp : //herokory.herokuapp.com/autocomplete/jsonpCallback/aはjsonpをサポートします

4

3 に答える 3

1

メソッドをjsonpに設定するために渡すキーはではありdataTypeませんdatatype。オブジェクトキーでは大文字と小文字が区別されます

さらに、失敗すると、jqueryはXHR、textStatus、およびerrorThrownを送信します。それらを見てみませんか?:

...
.done(function (XHR, textStatus, errorThrown) {
    console.log(XHR, textStatus, errorThrown);
});

ajax呼び出しの外でjsonpCallbackを定義する必要があります。

function jsonpCallback(data) {
    // do stuff with data
    console.log(data)
}
于 2012-08-21T18:31:08.007 に答える
1

エラーの詳細を取得するには、reponseTextを使用してください。同じドメインにいますか?

$.ajax({
 type: "GET",
 url: "http://herokory.herokuapp.com/autocomplete/jsonpCallback/a",
 datatype:"jsonp"
 }).responseText
于 2012-08-21T18:32:23.343 に答える
0

JSONP では、応答を処理するためにコールバック関数を設定する必要があります。この場合:

http://herokory.herokuapp.com/autocomplete/jsonpCallback/a

jsonpCallbackURL で関数の名前として指定しています。そのため、JSONP リクエストを行う前に、その名前の関数をグローバル スコープで表示する必要があります。

function jsonpCallback(data) {
    console.log(data);
}

$.ajax({
type: "GET",
    url: "http://herokory.herokuapp.com/autocomplete/jsonpCallback/a",
    dataType:"jsonp"
}).error(alert('error'));
于 2012-08-21T18:56:36.840 に答える