此代码位于Button onClick事件上:
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区域。
function processJSONData(data){
alert( "Id: " + data.response.requestType );
console.log( 'Id:' );
console.log( data.response.requestType );
}当我按下Button时,onclick事件会触发,下面的JSON数据将被返回。
问题是我不知道如何用它来引用数据。
我已经尝试了所有我能想到的访问数据元素的方法。
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
发布于 2013-03-26 01:24:15
您的loadJSONData函数实际上使用了JSONP,因此您根本不需要解析任何东西-- data只是对象。
只有lemonfree似乎不支持JSONP,您链接到的重新源是普通的JSON --缺少回调“填充”。索普阻止您通过Ajax直接访问它,因此您需要使用某种代理。
https://stackoverflow.com/questions/15627595
复制相似问题