我正在为如何解析来自 XMLHttpRequest 的响应而苦苦挣扎。响应为 json 格式:
http://flickr.com/services/rest/?method=flickr.photos.search&api_key=75564008a468bf8a284dc94bbd176dd8&tags=paris&format=json
为了确保它确实如此,我对其进行了测试:
document.getElementById('info').innerHTML = this.responseText
它返回给我一个页面,其中有一长行以 json 格式编写的数据。有人可以帮我弄清楚接下来的步骤,以便从响应中提取数据,即所有标题的列表
我做了一些研究,发现了这个:
response = this.responseText ;
var doc = new DOMParser().parseFromString(response, "text/xml");
接下来我需要做什么?(注意:我希望手动执行此操作,即无需 jQuery 或类似工具的帮助。)
[编辑]
根据下面的建议和有关此事的 Flickr 页面,我尝试了以下方法:
request.onreadystatechange = function()
{
...
if (this.responseXML != null)
{
jsonFlickrApi(this.responseText) ;
function jsonFlickrApi(rsp){
for (var i=0; i<rsp.photos.photo.length; i++){
var blog = rsp.photos.photo[i];
var div = document.createElement('div');
var txt = document.createTextNode(photo.owner);
div.appendChild(txt);
//document.body.appendChild(div);
document.getElementById('info').innerHTML.appendChild(div);
}
...
}
这还没有返回任何可见的东西。
[编辑2]
进一步的故障排除显示:
rsp = this.responseText ;
document.getElementById('info').innerHTML = rsp.stat ;
印刷undefined