javascript - 无法让维基百科的 API 工作

标签 javascript jquery wikipedia-api

我想使用维基百科的 API 将搜索结果附加到我的页面,但是当我按 Enter 键时,什么也没有显示。到目前为止,这是我的代码:

var apiURL = "https://en.wikipedia.org/w/api.php?callback=?";
$("input").on("keydown",function search(e) {
 if(e.keyCode == 13) {

    $("#display-result").empty();
    $.getJSON(apiURL, {
    action: 'query',
    format: 'json',
    inprop: "url",
    formatversion: 2,
    generator: 'search',
    gsrsearch: $("input").val(),
    gsrwhat: "text",
    prop: 'extracts|info',
    exsentences: 3,
    exintro: "",
    explaintext: "",        
    exlimit: 20,
  })

  .success(function(response) {
    response.query.pages.forEach(function(resp) {
      $('#display-result').append(
        "<a href='" + resp.fullurl + "' target= '_blank'><div id='result' class='results'><h3>" + resp.title + "</h3><p = class='extract'>" + resp.extract + "</p></div>");
    });
  });
 };
});

这是一个jsfiddle:https://jsfiddle.net/9j6v1Leo/

最佳答案

在查看你的 jsfiddle 时我注意到两件事:

  • 您正在使用 jquery 函数,但未包含 jquery 库。
  • 将您的代码放入 $(document).ready(function() { } 中。这样您就可以确保 DOM 已为 JavaScript 代码做好准备。

这是一个工作中的jsfiddle:https://jsfiddle.net/v27a0964/

关于javascript - 无法让维基百科的 API 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46254008/

相关文章:

javascript - 从 Wikipedia api 的 Fetch blob 中获取响应数据

javascript - JQUERY如何选择项目

javascript - 如何将值从 Jquery 传递给 Angular Js?

javascript - 如何在 if else 语句中使用输入 type=text 中的值

javascript - 201 创建由 django Rest 框架发送的状态代码,通过 jquery $.ajax 调用解释为失败

javascript - 文件上传到服务器之前刷新页面,替代 PreventDefault 功能

javascript - 如何禁用 onclick 事件?

python - 使用 python urllib2 在 http header 中传递 session cookie?

android - 从 Wiki 页面获取整洁的内容。 (媒体维基 API)

javascript - 谷歌浏览器扩展程序 : How to find out if a user has signed in to the Chrome browser?