-1

これは私の Ajax リクエストです。

$.ajax({     
type:    'POST',
url:   "http://xx.json",
//data: '{id:id}',
//data: '{providername:providername}',
crossDomain:    true,
dataType:   'jsonp',
jsonpCallback:    'loadData'
});

リクエスト自体が失敗した場合は、リクエスト自体を確認してください。リクエストの上記のデータ変数にデータを提供する必要があるため、コンテンツにアクセスするためにデータを JSON に送信する方法がわかりません。次は json です

 {
  "loadData"      :   {
       "Facebook":    [
       {
        "email"    :   "karthim1982@yahoo.com",
        "first_name"   :   "Karthick"
     },
     {
        "email"    :    "mallika132-iit@yahoo.co.in",    "first_name"   :    "Mallika"
     }
  ],       
       "Google"   :    [
     {
        "email"    :      "jameson42@gmail.com","first_name"   :     "Jameson"
     },
     {
        "email"     :   "hariikriishnan@gmail.com","first_name"     :   "hari"
     }
  ]
   }
 }

JSONに問題がないか確認してください。Facebook の 1 番目と 2 番目のメールまたは Google の 1 番目のメールまたは名前属性にアクセスするにはどうすればよいですか

4

1 に答える 1

0

jsonpjQuery の使用を要求している場合はcallback、GET 要求で次のようなパラメーターが呼び出されます。

http://your.url/out.json?callback=jQuery123456789

サーバー側で行う必要があるのは、そのコールバックで出力をラップすることです。

{"a": 1, "b": 2}

次のように応答を提供する必要があります。

jQuery123456789('{"a": 1, "b": 2}')

あなたの場合、名前を to に変更しているようcallbackですloaddata。この関数は jQuery によって自動的に作成されるため、定義する必要はありません。定義する必要があるのsuccess、データが渡されるコールバックです。

の場合JSONP、jQuery は応答を としてではXMLHTTPRequestなく<script>タグとしてロードし、それをページに密かに設定しcallbackます。これは、リモート サービスを制御できることを前提としています。

于 2013-10-02T23:00:10.503 に答える