0

サイトへの ajax リクエストに問題があります。

レスポンスとしてjsonオブジェクトを返しますが、いつものように success:function(data) で処理できません。私は得る

キャッチされない SyntaxError: 予期しないトークン:

クロムのエラー、および

SyntaxError: 無効なラベル {"response":{

ファイアフォックスで...

応答は次のとおりです。

{"response":{
  "header": {
    "found": 6,
    "query": "something"
  },
  "results": [
    { ... }
  ]
}

ajax()関数のcontentsフィールドを使って何とかレスポンスをラップしようと思ったのですが、使い方の例がありません。リクエストを処理するための他のアイデアはありますか?

これは私が行う呼び出しです:

$.ajax({
     url:'http://somesite.com/search/query',
     dataType: 'jsonp',
     data: { q: 'something' },
     success:function(json){
         // debugger;
         alert("Success");
     },
     error:function(err, data){
         alert("Error");
     },
});

jQuery の Web サイト http://api.jquery.com/jQuery.ajax/から

コンテンツ タイプ: PlainObject 与えられたコンテンツ タイプに応じて、jQuery が応答を解析する方法を決定する文字列/正規表現のペアのオブジェクト。(バージョン追加:1.5)

4

2 に答える 2

0

エラーが発生する理由は、有効な JSONP ではなく、通常の JSON にコールバックがないためです。サーバー側でコンテンツを取得するか、外部サービスに API を変更させる以外に、それについてできることは何もありません。 CORS が有効でない限り、JSONP はクロス ドメイン リクエストでサポートされる唯一のデータ型です。

于 2013-05-09T10:29:24.547 に答える