所以,我已经制作了这个代码,用于扫描维基百科的API,然后使用console.log编写API中的所有信息。但是,它没有返回任何东西。
function display() {
$.get('https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Stack%20Overflow', function(Data){
var elements = document.querySelectorAll( 'body *' );
console.log(elements[0].innerHTML);
console.log('ya');
});
}
display();
变量元素应该获取它刚刚获取的API主体内的所有元素,然后在之后的console.log语句应该记录第一个元素的innerHTML。 但是,它没有记录任何内容。
答案 0 :(得分:0)
因此代码存在许多问题:
1.您正在查询文档,但您的数据保存在Data变量中。尝试注销Data变量。
2.当我尝试GET时,GET未正确形成以允许跨浏览器请求。以下代码对我有用:
function display(){ $.ajax({ type: "GET", url: "https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Stack%20Overflow&callback=?", contentType: "application/json; charset=utf-8", async: true, dataType: "json", success: function (data, textStatus, jqXHR) { console.log(data); }, error: function (errorMessage) { } }); } display();
注意:我必须在原始搜索网址中添加一个回调参数。
我使用以下博客作为参考: http://www.9bitstudios.com/2014/03/getting-data-from-the-wikipedia-api-using-jquery/
此处显示的查询返回数据对象,而不是HTML字符串。因此,使用查询选择器是不合适的。
答案 1 :(得分:0)
您没有将元素设置为正确的东西,请尝试:
foreach ($arrayB as &$ar)
foreach ($ar as $k => &$v)
if (isset($arrayA[$k])
$v = ($v == $arrayA[$k] ? 1 :0);