2011-12-13 20 views
0

リモートサーバーからJSONデータを取得するためにクロスドメインスクリプトを呼び出そうとしていますが、要求が行われていることがわかります。 JSONの解析に失敗しているため呼び出しが失敗しています - JSONが有効です...jqueryの構文解析に失敗したクロスドメインajax呼び出し

次のjquery ajaxコールに問題がありますか?

jqueryのバージョン= 1.7.1

$.ajax({ 
     url: 'http://fooed.cloudapp.net/users?callback=?', 
      crossDomain: true, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(data) { 
       alert('success'); 
      }, 
      error: function(data) { 
       alert('error'); 
      }, 
      complete: function(xhr, data) { 
       if (xhr.status == 0) 
        alert('fail'); 
       else 
        alert('success'); 
      } 
     }); 

例JSON:

[{ "ContentPreferences":[], 
    "Email":"[email protected]", 
    "FirstName":"Mark", 
    "Id":"aa2f1944-e739-4329-9546-a21f52c02448", 
    "KnownAs":"Mark", 
    "LastName":"Jones", 
    "TimeStamp":"\/Date(1323804151906)\/" 
}] 
+0

と異なるのparamを必要としないことを意味:// fooed。 cloudapp.net/users?callback = foo'あなたの質問にそれを貼り付けることはできますか? 'json'は有効な' json'ですが、 'jsonp'は有効ではないと確信しています。 –

答えて

1

あなたのJSONは有効なJSONPではありません。これは、代わりに次のようになります。

foo([{ "ContentPreferences":[], 
    "Email":"[email protected]", 
    "FirstName":"Mark", 
    "Id":"aa2f1944-e739-4329-9546-a21f52c02448", 
    "KnownAs":"Mark", 
    "LastName":"Jones", 
    "TimeStamp":"\/Date(1323804151906)\/" 
}]) 

をAPIがJSONPをサポートしたり、HTTP `に直接移動ならば、あなたは何を得るのですかcallback=?

+0

そう、私はJSONPを返すサービスを手に入れるか、何か他のものを試してみる必要があります。 – AwkwardCoder

+0

正しい。 jsonpを返すことができない場合は、サーバー側のプロキシまたはYQLなどのオンラインプロキシを使用する必要があります。 –

+0

YQLはPOST、PUT&DELETEとGETを実行できますか? – AwkwardCoder

関連する問題