【发布时间】:2015-01-23 19:44:52
【问题描述】:
我试图在不知道该文档 ID 的情况下获取特定文档。由于我使用的是 Mongolab,我无法查询 ID,因为我让 Mongolab 生成这些。
我已经设法提醒整个集合,但是一旦我尝试添加查询属性,它就会在警报中弹出“未定义”!
有效的代码,并提醒整个集合:
var xhrGet = new XMLHttpRequest();
xhrGet.open("GET", 'https://api.mongolab.com/api/1/databases/MYBASE/collections/MYCOLLECTION&apiKey=MYAPIKEY');
xhrGet.onreadystatechange = function(){
existingUrl = xhrGet.responseText;
alert(existingUrl);
}
xhrGet.send();
提供 Mongolab JSON 格式的片段:
{
"_id": {
"$oid": "MongoLab ID"
},
"visited": {
"url": "SomeURL",
"weight": 1
}
}
我的问题是我只想访问这个 JSON 文件的“url”字段。当我尝试将例如 .visited 或 .visited.url 添加到警报时;它变成“未定义”。
alert(existingUrl.visited);
和
alert(existingUrl.visited.url);
都是未定义的!
对此有何想法和解决方案?
解决方案(在@furrypet 的帮助和一些更详细的阅读中):
var xhrGet = new XMLHttpRequest()
xhrGet.open("GET", 'https://api.mongolab.com/api/1/databases/MYBASE/collections/MYCOLLECTION?q={"visited.url": "' + THEURL + '"}&apiKey=MYAPIKEY');
xhrGet.onreadystatechange = function(){
var response = JSON.parse(xhrGet.responseText);
for(var i = 0; i < response.length; i++){
var temp = response[i];
alert(temp.visited.url);
}
}
【问题讨论】:
标签: javascript json xmlhttprequest mlab