15

これが私の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
4

4 に答える 4

10

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

(テスト時に発生するDNSルックアップの失敗は、それが実際のURLではないためだと推測しています(example.comたとえば、URLを使用してください。それが目的です)そうでない場合は、それが問題です)。

于 2013-01-10T10:19:18.903 に答える
5

これは間違った JSONP レスポンスです。サーバーはRequestのcallback=nameOfCallbackFunction引数を処理し、それを関数ラッパーとして提供する必要があります。GET

適切な応答は次のようになります。

nameOfCallbackFunction({"yourjson": "here"});
于 2013-01-10T10:27:55.550 に答える
2

これが古いスレッドであることは知っていますが、クロスドメイン ajax の例を機能させるのに苦労しています。dataType: jsonp と support.cors = true の使用についてよく読みましたが、200 - 成功しましたが、解析エラーが発生しました。

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

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

于 2014-12-04T21:59:19.383 に答える
0

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

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

また、.php を呼び出す場合は、次のことを覚えておいてください。

header('Content-Type: application/json; charset=utf8');
于 2015-09-22T14:32:05.130 に答える