web-dev-qa-db-ja.com

エラー::jQueryが呼び出されませんでした

これが私のajax呼び出しです。

 $.ajax({
    type: "GET",
    url: "http://example.com/v1/search?keyword=r",
    dataType: "jsonp",
    crossDomain: true,
    success: function (responseString) {
        alert(responseString);
    },
    error: function (xhr, errorType, exception) {
        var errorMessage = exception || xhr.statusText;
        alert(errorMessage);
    }
});

私のサンプルURLからの応答

    {
    "response": [{
        "attributes": {
            "type": "enge",
            "url": "/services/data/v24.0/sobjects/Challenge__c/a0GZ0000005Vvh4MAC"
        },
        "name": "Really",
        "end_date": "2013-02-07T15:26:00.000+0000",
        "total": 350.0,
        "registered_members": 0.0,
        "id": "30",
        "type": "Design",
        "id": "a0GZ0000005Vvh4MAC",
        "start_date": "2012-11-19T16:52:00.000+0000",
        "description": "This is my really cool challenge",
        "remaining_days": 28.0,
        "categories__r": [{
            "attributes": {
                "type": "Category__c",
                "url": "/services/data/Category__c/a08Z0000000RNI2IAO"
            },
            "id": "0RNI2IAO",
            "display_name": "Andy"
        }, {
            "attributes": {
                "type": "Category__c",
                "url": "/services/Category__c/a08Z0000000RNI3IAO"
            },
            "id": "a0O",
            "display_name": "ADR"
        }]
    }

    }],
    "count": 1
}

クロスドメインコールを実行しようとするとエラーが発生する

jQuery180014405992737595236_1357861668479 was not called

更新

さて、私はdataType: "json"を使用しようとしましたが、その時点でエラーが発生しました

No Transport
15
iJade

これは、ネットワークエラー、またはJSONP応答を返さないエンドポイントを示唆しています。

(テスト時にDNSルックアップエラーが発生するのは、それが実際のURLではないためだと思います(URLの例としてexample.comを使用してください)。そうでない場合は、問題)。

10
Quentin

これは誤ったJSONP応答です。サーバーは、GETリクエストのcallback=nameOfCallbackFunction引数を処理し、関数ラッパーとして機能させる必要があります。

その場合、適切な応答は次のようになります。

nameOfCallbackFunction({"yourjson": "here"});
4
Christoph

私はこれが古いスレッドであることを知っていますが、クロスドメインのajaxサンプルを機能させるのに苦労しています。私はdataTypeの使用について多くを読みました:jsonpとsupport.cors = trueですが、200-成功しましたがparseerrorを取得しました。

次に、このスレッドで、どちらか一方の使用について読みました。次に、dataType:をjsonに変更し、support.cors = trueのままにして、動作しました。最後に 。 。 。

これは、同じ問題に遭遇した他の誰かを助けるかもしれません。

2
Thomas DeVoe

エラーJQueryXXXXが発生する理由は、呼び出すURLにエラーがあるためです。「?callback =?」を導入する必要があるため、次のようになります。

"http://example.com/v1/search?callback=?keyword=r"

また、.phpを呼び出す場合は、次の点に注意してください。

header('Content-Type: application/json; charset=utf8');
0