Javascript 通过ajax读取JSon文件
这是我的Ajax请求: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({
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代码来自同一域。