Javascript 使用ajax从在线站点加载json
我使用jquery的$.ajax函数从另一个站点加载json。请求正在成功完成,但我现在如何访问json并将其保存到javascript数组 以下是我目前的代码:Javascript 使用ajax从在线站点加载json,javascript,jquery,ajax,json,jsonp,Javascript,Jquery,Ajax,Json,Jsonp,我使用jquery的$.ajax函数从另一个站点加载json。请求正在成功完成,但我现在如何访问json并将其保存到javascript数组 以下是我目前的代码: $.ajax({ type:'GET', dataType:'jsonp', data:{}, url:'http://hawttrends.appspot.com/api/terms/', error:function(jqXHR, textStatus, errorThrown){
$.ajax({
type:'GET',
dataType:'jsonp',
data:{},
url:'http://hawttrends.appspot.com/api/terms/',
error:function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
},
success:function(msg){
console.log(msg);
}
});
您可以迭代返回的JSON。试试这个:
$.ajax({
type:'GET',
dataType:'jsonp',
data:{},
url:'http://hawttrends.appspot.com/api/terms/',
error:function(jqXHR, textStatus, errorThrown){
console.log(jqXHR);
},
success:function(msg){
if (msg) {
var myArray = [];
$.each(msg, function(i, item) {
//do whatever you want for each row in json
myArray.push(item);
});
}
}
});
同时也要研究一下这可能对您的应用程序也有用。欢迎来到异步的奇妙世界!您不能这样做。服务器的响应是什么?成功处理程序中的msg中有什么内容?如果msg包含您要查找的内容,那么使用它。msg将已经是该变量。它的值可以从另一个作用域复制到另一个变量。但是,任何访问另一个变量的操作都必须等待Ajax请求完成,这正是成功的原因。@SLaks您的意思是什么?JSONP不需要解析来自调用的意外标记。未捕获的语法错误:意外标记:@cr0ss如何修复它,因为它不在我的控制范围内?@MrGuru响应是JSON,而不是JSONP无填充。您需要确定API是否真正支持JSONP,如果支持,则需要确定调用回调参数的期望值,因为它没有使用jQuery的默认回调。@JonathanLonowski现在我得到的错误与使用getJSON时的错误相同。跨域起源。是否有任何方法可以获取json数据并将1处的值转换为数组?