使用javascript解析来自JSON url的数据

时间:2016-07-30 23:24:32

标签: javascript json parsing cors

我想制作一个ajax请求并解析JSON响应。 我已经尝试使用此代码但没有运气

var url = 'http://api.steampowered.com/ISteamUser \
          /ResolveVanityURL/v0001/?key=private_key&vanityurl=zacktm'
$.getJSON(url, function(data) {
    alert(data);
});

我得到的回应是:

{
"response": {
    "steamid": "76561198181548891",
    "success": 1
  }
}

我想要的输出:76561198181548891

4 个答案:

答案 0 :(得分:2)

开发的临时解决方案是使用crossorigin.me

代码将是:

var url = 'http://crossorigin.me/http://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/?key=0E385DC97C8423D8DD9CD11944187F38&vanityurl=zacktm'
$.getJSON(url, function(data) {
    alert(data.response.steamid);
});

答案 1 :(得分:1)

我看到你的API启用了CORS。

临时解决方案是禁用浏览器上的CORS过滤器,但要获得永久性解决方案,您需要在后端REST API上添加CORS标头。

完成后,您可以尝试以下方法:

$.get('http://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/?key=0E385DC97C8423D8DD9CD11944187F38&vanityurl=zacktm', function(data) {
   alert(data.response.steamid);   
});

data.response.steamid会给你一个蒸汽

答案 2 :(得分:1)

1

var url = 'https://itunes.apple.com/in/rss/topalbums/limit=10/json';

2

    $.getJSON(url, function(data) {

      alert(data.feed.entry[0]["im:name"].label);
    });

答案 3 :(得分:0)

var url = 'http://api.steampowered.com/ISteamUser \
          /ResolveVanityURL/v0001/?key=private_key&vanityurl=zacktm';
$.get(url, function(data){
    var reply = $.parseJSON(data);
    // Or plain JavaScript
    // var reply= JSON.parse(data);
    alert(reply.reponse.steamid);
});

请注意,如果服务器allow-origin:localhost未设置,则无法将XmlHttpRequest用于具有localhost的外部服务器