0
我对bing API做了一个javascript查询。在JavaScript中使用XML-http功能。阅读xmlhttp对象
如果我打印
xmlhttp.responseText;
它正确地返回这样一个对象:
{
"d":{
"results":[
{
"__metadata":{
"uri":"Data.ashx/Bing/SearchWeb/v1/Web?Query=\u0027weltall\u0027&$skip=0&$top=1",
"type":"WebResult"
},
"ID":"ec45ae51-c52b-4172-b64e-97f0db106110",
"Title":"Universum – Wikipedia",
"Description":"Universum, Weltall und Weltraum. Das Wort „Universum“ wurde im 17. Jahrhundert von Philipp von Zesen durch das Wort „Weltall“ eingedeutscht.",
"DisplayUrl":"/wiki/Universum",
"Url":"/wiki/Universum"
},
{
"__metadata":{
"uri":"Data.ashx/Bing/SearchWeb/v1/Web?Query=\u0027weltall\u0027&$skip=1&$top=1",
"type":"WebResult"
},
"ID":"8703f1c8-f3b7-48b0-b2cf-e33071b5006e",
"Title":"Weltall - Wissenschaft - SPIEGEL ONLINE",
"Description":"Nachrichten aus der Wissenschaft über Mensch und Technik, Natur und Weltall. Aktuelle Reportagen, Analysen, Interviews.",
"DisplayUrl":"/wissenschaft/weltall",
"Url":"spiegel.de/wissenschaft/weltall/"
}
]
}
}
到目前为止好。但是,当我尝试访问所述对象的单个属性时,没有任何回复:
document.getElementById("main").innerHTML = xmlhttp.d.results.uri[1];
该行似乎存在错误。我想到了像嵌套列(.d.results.uri部分)和行([1]部分))的数据库对象。
'responseText'顾名思义不是一个对象,而是一个字符串。你需要JSON.parse()它。此外,你正在分配'xmlhttp.d.results.uri [1]',但即使responsText是一个对象,它应该是'xmlhttp.responsText.d.results.uri [1]' – marekful
'responseText'是一个字符串,不是一个东西。你需要先使用JSON.parse。在另一个说明中,请花点时间在下次正确设置问题时,它确实不那么难。 – Tomalak
@marekful,你为什么不把它写成答案? – Shomz