Javascript 为什么不是';我的代码不能获取JSON值吗? 函数getResults(){ var text=encodeURIComponent(searchField.val().trim()); $.ajax({ 键入:“获取”, url:“https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&format=json&titles=“+文本, 数据类型:“jsonp”, 成功:功能(数据){ 显示结果(数据、文本); } }); } 函数显示结果(数据、文本){ results.show(); 变量查询=”https://en.wikipedia.org/wiki/“+案文; for(data.query.pages中的变量id){ var code=“” $(代码).appendTo(结果); } }
在showResults函数中,它将id.title和id.extract显示为未定义。为什么呢?我做错了什么?这是因为在对象上迭代时(使用Javascript 为什么不是';我的代码不能获取JSON值吗? 函数getResults(){ var text=encodeURIComponent(searchField.val().trim()); $.ajax({ 键入:“获取”, url:“https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&format=json&titles=“+文本, 数据类型:“jsonp”, 成功:功能(数据){ 显示结果(数据、文本); } }); } 函数显示结果(数据、文本){ results.show(); 变量查询=”https://en.wikipedia.org/wiki/“+案文; for(data.query.pages中的变量id){ var code=“” $(代码).appendTo(结果); } },javascript,json,Javascript,Json,在showResults函数中,它将id.title和id.extract显示为未定义。为什么呢?我做错了什么?这是因为在对象上迭代时(使用对象中的var循环),var(id在本例中)是键,但如果需要值,请使用对象[key]语法。检查以下代码 $.ajax({ 键入:“获取”, url:“https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&format=json&titles=newton", 数据类型:“
对象中的var
循环),var(id
在本例中)是键,但如果需要值,请使用对象[key]
语法。检查以下代码
$.ajax({
键入:“获取”,
url:“https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&format=json&titles=newton",
数据类型:“jsonp”,
成功:功能(数据){
for(data.query.pages中的变量id)
document.write(data.query.pages[id].title);
}
});代码>
这是因为在对象上迭代时(使用for object in object
循环中的var),var
(id
)是键,但如果需要值,请使用object[key]
语法。检查以下代码
$.ajax({
键入:“获取”,
url:“https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&format=json&titles=newton",
数据类型:“jsonp”,
成功:功能(数据){
for(data.query.pages中的变量id)
document.write(data.query.pages[id].title);
}
});代码>
执行此操作时:
function getResults(){
var text = encodeURIComponent(searchField.val().trim());
$.ajax({
type: "GET",
url: "https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&format=json&titles=" + text,
dataType: "jsonp",
success: function(data){
showResults(data, text);
}
});
}
function showResults(data, text) {
results.show();
var query = "https://en.wikipedia.org/wiki/" + text;
for (var id in data.query.pages) {
var code = "<a href=" + query + " class='results'>" + "<div class='results'>";
code = code + "<strong>" + id.title + "</strong>";
code = code + "<br>";
code = code + id.extract;
code = code + "</div></a>"
$(code).appendTo(results);
}
}
id
变量由一个属性名填充,该属性名只是一个字符串。如果要获取该属性的值,必须引用该属性的值,如中所示:
for (var id in data.query.pages)
或者,如果这是一个对象,然后您需要.title
,那么您需要
data.query.pages[id]
及
执行此操作时:
function getResults(){
var text = encodeURIComponent(searchField.val().trim());
$.ajax({
type: "GET",
url: "https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&format=json&titles=" + text,
dataType: "jsonp",
success: function(data){
showResults(data, text);
}
});
}
function showResults(data, text) {
results.show();
var query = "https://en.wikipedia.org/wiki/" + text;
for (var id in data.query.pages) {
var code = "<a href=" + query + " class='results'>" + "<div class='results'>";
code = code + "<strong>" + id.title + "</strong>";
code = code + "<br>";
code = code + id.extract;
code = code + "</div></a>"
$(code).appendTo(results);
}
}
id
变量由一个属性名填充,该属性名只是一个字符串。如果要获取该属性的值,必须引用该属性的值,如中所示:
for (var id in data.query.pages)
或者,如果这是一个对象,然后您需要.title
,那么您需要
data.query.pages[id]
及
在您的情况下,您只使用了键
=>“321123”。要获取对象的值,请使用键
。获取对象数据.query.pages[id]
data.query.pages[id].extract
这个应该有用
for (var id in wiki = data.query.pages){
wiki[id].title;
wiki[id].extract;
}
函数显示结果(数据、文本){
results.show();
变量查询=”https://en.wikipedia.org/wiki/“+案文;
for(wiki中的var id=data.query.pages){
var code=“”
$(代码).appendTo(结果);
}
}
在您的情况下,您只需使用键
=>“321123”。要获取对象的值,请使用键
。获取对象数据.query.pages[id]
data.query.pages[id].extract
这个应该有用
for (var id in wiki = data.query.pages){
wiki[id].title;
wiki[id].extract;
}
函数显示结果(数据、文本){
results.show();
变量查询=”https://en.wikipedia.org/wiki/“+案文;
for(wiki中的var id=data.query.pages){
var code=“”
$(代码).appendTo(结果);
}
}