Javascript 使用ajax从在线站点加载json

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){

我使用jquery的$.ajax函数从另一个站点加载json。请求正在成功完成,但我现在如何访问json并将其保存到javascript数组

以下是我目前的代码:

$.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处的值转换为数组?