首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析从javascript JSON调用返回的数据

解析从javascript JSON调用返回的数据
EN

Stack Overflow用户
提问于 2013-03-26 01:05:11
回答 1查看 80关注 0票数 0

此代码位于Button onClick事件上:

代码语言:javascript
复制
function loadJSONData(url) {
  var headID = document.getElementsByTagName("head")[0];
  var newScript = document.createElement('script');
      newScript.type = 'text/javascript';
      newScript.src = url;
  headID.appendChild(newScript);
}

loadJSONData('http://api.lemonfree.com/listings?key=2806cdf10605dc9598b1cf3a2387acb7&make=HUMMER&model=H2&zip=80901&distance=100&per_page=25&sortby=Price&sortdir=ASC&year_from=2005&year_to=2008&format=json&callback=processJSONData');

此代码位于Load JavaScript区域。

代码语言:javascript
复制
function processJSONData(data){
  alert( "Id: " + data.response.requestType );

  console.log( 'Id:' );
  console.log( data.response.requestType );
}

当我按下Button时,onclick事件会触发,下面的JSON数据将被返回。

问题是我不知道如何用它来引用数据。

我已经尝试了所有我能想到的访问数据元素的方法。

代码语言:javascript
复制
data.response.requestType,
data.response.result[0].id

response.requestType,
response.result[0].id

等。

www.jsonlint.com将返回的数据验证为有效的json,jsonviewer.stack.hu也将返回的数据验证为有效的json。

任何帮助都将不胜感激。

标记

如果您将其输入浏览器中,您将收到返回的数据。

to=2008&format=json&callback=processJSONData

EN

回答 1

Stack Overflow用户

发布于 2013-03-26 01:24:15

您的loadJSONData函数实际上使用了JSONP,因此您根本不需要解析任何东西-- data只是对象。

只有lemonfree似乎不支持JSONP,您链接到的重新源是普通的JSON --缺少回调“填充”。索普阻止您通过Ajax直接访问它,因此您需要使用某种代理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15627595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档