Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过ajax读取JSon文件_Javascript_Json - Fatal编程技术网

Javascript 通过ajax读取JSon文件

Javascript 通过ajax读取JSon文件,javascript,json,Javascript,Json,这是我的Ajax请求: $.ajax({ type: 'POST', url: "http://xx.json", //data: '{id:id}', //data: '{providername:providername}', crossDomain: true, dataType: 'jsonp', jsonpCallback: 'loadData' }); 好的,如果请求本身失败了,因为我需要在请求的上面的数据变量中提供数据,不确定我应该如何将数据发

这是我的Ajax请求:

$.ajax({     
type:    'POST',
url:   "http://xx.json",
//data: '{id:id}',
//data: '{providername:providername}',
crossDomain:    true,
dataType:   'jsonp',
jsonpCallback:    'loadData'
});
好的,如果请求本身失败了,因为我需要在请求的上面的数据变量中提供数据,不确定我应该如何将数据发送到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的第一封电子邮件或第一封)名称属性

如果您使用jQuery请求
jsonp
,您将在get请求中获得一个名为
callback
的参数,类似于:

http://your.url/out.json?callback=jQuery123456789
在服务器端需要做的是将输出包装到回调中,而不是:

{"a": 1, "b": 2}
您需要提供如下回复:

jQuery123456789('{"a": 1, "b": 2}')
在您的例子中,看起来您正在将
回调
重命名为
加载数据
。请记住,jQuery将为您构建此函数,您不需要定义它。需要定义的是数据将传递到的
success
回调


对于
JSONP
,jQuery不是作为
XMLHTTPRequest
加载响应,而是作为
标记加载响应,并在页面上秘密设置
回调。这取决于您对远程服务的控制。

您是否尝试解析JSON字符串?您要求的是jsonp。服务器是否返回jsonp?另外,你传递数据的方式看起来不错。[我昨天写了一个示例答案,你可以检查一下][1][1]:ok..但我的ajax请求代码需要做哪些更改,以便我只能提取facebook数据…如果您提供示例,那将很好…ok.wat需要对我的ajax请求代码进行更改,以便我可以提取facebook数据…如果您提供示例。。。loadData:({Facebook:[{“电子邮件”:”karthim1982@yahoo.com,“名字”:“Karthick”},{“email”:“mallika132”-iit@yahoo.co.in,}],谷歌:[{“电子邮件”:jameson42@gmail.com", }, ] }); ajax请求:var req=$.ajax({url:x.json,数据:{'x':'1','y':'2'},数据类型:'jsonp',//jsonpCallback:'loadData'});如果它在facebook上,并且他们没有提供添加
jsonp
回调的方法,那么您需要从服务器后端请求数据,并将数据代理到前端,以便它与常规javascript代码来自同一域。