javascript – 使用JSONP访问Wikipedia API

前端之家收集整理的这篇文章主要介绍了javascript – 使用JSONP访问Wikipedia API前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在过去的几天里我一直在尝试让我的代码工作,但我找不到问题.
我想与维基百科服务器进行通信并获取他们的JSON API,以便我可以列出与searchInput的输入值相对应的项目.
我一直在研究JSONP,最后发现我可以添加“& callback =?”我的API请求,它应该工作.
现在,即使我添加了它,通信仍然没有发生.
我注意到在处理“#searchInput”输入后初始化代码时,codepen.io上的控制台返回“无标题”片刻.
也许问题出在我的…循环中.
 你知道我应该怎么做吗?
我的代码链接http://codepen.io/nedsalk/pen/zqbqgW?editors=1010
(已在“设置”菜单中启用了JQuery)
如果您更喜欢.html版本的代码

Meta charset="UTF-8">
    
最佳答案
您的代码中有几个问题:

>您应该挂钩表单的提交事件,而不是单击按钮,并使用event.preventDefault()来停止提交.
>循环返回对象的键并尝试访问这些字符串的属性,而不是使用键来访问基础属性.
>您在每个循环中设置html(),因此只有最终项目可见.你应该使用append()代替.

试试这个:

$("form").on("submit",function(e) {
    e.preventDefault();
    var input = $("#searchInput").val();
    $.getJSON('https://en.wikipedia.org/w/api.php?action=query&generator=search&gsrsearch=' + encodeURIComponent(input) + '&prop=extracts&exlimit=10&exintro&exsentences=2&format=json&callback=?',function(response) {
        var pages = response.query.pages;
        $("#list").empty();

        for (var id in pages) {
            $("#list").append('

Working example

猜你在找的jQuery相关文章