Javascript 无法使用wikipedia的响应JSON

Javascript 无法使用wikipedia的响应JSON,javascript,jquery,json,Javascript,Jquery,Json,$document.readyfunction{ $.getJSON{ 网址:https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&origin=*&srsearch=gaby&srwhat=text&srprop=snippet&format=json, 功能结果{ $display.textresult.query.search[0]。标题; } }; }; 取出url:和getJSON方法中的{}

$document.readyfunction{ $.getJSON{ 网址:https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&origin=*&srsearch=gaby&srwhat=text&srprop=snippet&format=json, 功能结果{ $display.textresult.query.search[0]。标题; } }; };

取出url:和getJSON方法中的{}

$document.readyfunction{ $.getJSONhttps://en.wikipedia.org/w/api.php?action=query&format=json&list=search&origin=*&srsearch=gaby&srwhat=text&srprop=snippet&format=json, 函数结果{ $display.textresult.query.search[0]。标题; }; };

您的通话结构不正确

$.getJSON({
    url:"https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&origin=*&srsearch=gaby&srwhat=text&srprop=snippet&format=json",
    function (result) {
        $("#display").text(result.query.search[0].title);
    }
});
您似乎正在使用与不兼容的语法。即使它是兼容的,您也会丢失success函数的正确属性名

您的语法创建了一个具有“url”和“function”属性的对象。我不知道为什么函数会有这个名字。此对象在url参数中传递给$.getJSON。jQuery将其转换为字符串[object],并将其用于url。这将产生一个404。$。如果请求失败或响应无效,getJSON将以静默方式失败

相反,请使用:

$.getJSON(
    "https://en.wikipedia.org/w/api.php?action=query&format=json&list=search&origin=*&srsearch=gaby&srwhat=text&srprop=snippet&format=json",
    function (result) {
        $("#display").text(result.query.search[0].title);
    }
);

调试器在内部succes函数的开头显示了什么?对不起,我不知道如何调试,我是新来的。但是没有错误,很有趣。这看起来像是一个语法错误,但实际上您创建了一个名为function的对象方法。阅读$.getJSON文档和JavaScript教程:.RTM:花几个小时学习如何调试设置断点、检查状态和单步执行代码将使生活变得更加轻松。有关的更多资源。鉴于您是新手,文档是无价的。一开始可能很难接受/理解,但一旦你学会真正打垮这些家伙并理解所有的电话。。。势不可挡。是的,谢谢!还有一个问题,我怎样才能在这个回复中获得pageid?@Gaby:@FelixKling你帮了我大忙,谢谢!您将丢失success函数的标签。不确定你的意思是什么,但不幸的是代码在语法上是有效的。创建的对象有两个属性:url和函数a方法。是!还有一个问题,如何在这个回复中获得pageid?@FelixKling在你评论时,我也注意到了自动命名。我自己也很好奇。你能指出一些解释为什么这样做有效的东西吗?@Gaby在回答中有不止一个pageid。results.query.pages作为对象显示。这可以通过通常的方法进行迭代。你所问的不在你原来问题的范围之内。你最好把它作为一个单独的问题提交。