-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 第一和第二封电子邮件或 Google 的第一封电子邮件或名字属性

4

1 回答 1

0

如果您要求jsonp使用 jQuery,您将获得callback在 GET 请求中调用的参数,例如:

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

您需要在服务器端做的是将输出包装在该回调中,而不是:

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

您需要像这样提供您的回复:

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

在您的情况下,您似乎正在重命名callbackto loaddata。请记住,jQuery 将为您构建此函数,您无需定义它。您需要定义的是success数据将被传递到的回调。

对于JSONP,jQuery 不是将响应加载为一个标签,XMLHTTPRequest而是作为一个标签,并在页面上<script>秘密地设置它。callback这取决于您可以控制远程服务。

于 2013-10-02T23:00:10.503 回答