javascript - 为什么我的 wikipedia opensearch ajax 请求不能成功返回?

标签 javascript jquery ajax wikipedia wikipedia-api

我尝试过很多不同的方法,但我无法让成功 block 执行,并且我一直让 ajax 请求作为错误返回,尽管 url 是正确的。我的错误是“未定义”。你对我可以尝试的其他事情有什么想法吗? 感谢您的帮助。

$(document).ready(function() {
  $("form").submit(function() {
    var searchTerm = $("#searchterm").val();
    var proxy = 'https://cors-anywhere.herokuapp.com/';
    var url = "https://en.wikipedia.org/w/api.php?action=opensearch&search=" +
      searchTerm + "&format=json";

    $.ajax({
      url: proxy + url,

      success: function(response) {
        console.log(response);
      },

      error: function(request, status, error) {
        console.log(request.responseText);
        console.log(url);
      }
    });
  });
});

最佳答案

在您的提交事件处理程序中添加:

e.preventDefault();

因为默认情况下,您的表单正在取消代码并执行表单的提交事件。

希望对你有帮助:

$(document).ready(function() {
  $("form").submit(function(e) {
    e.preventDefault();
    var searchTerm = $("#searchterm").val();
    var proxy = 'https://cors-anywhere.herokuapp.com/';
    var url = "https://en.wikipedia.org/w/api.php?action=opensearch&search=" +
      searchTerm + "&format=json";

    $.ajax({
      url: proxy + url,

      success: function(response) {
        console.log(response);
        alert("ok");
      },

      error: function(request, status, error) {
        console.log(request.responseText);
        console.log(url);
      }
    });
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<form>
  <input id="searchterm" type="text" />
  <button id="btnSend" type="submit">Send</button>
</form>

关于javascript - 为什么我的 wikipedia opensearch ajax 请求不能成功返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44274533/

相关文章:

javascript - 根据需要动态创建对象,无需 if 检查

javascript - 如何从数组中删除偶数?

javascript - 如何每隔几秒以及单击屏幕时循环浏览一系列图像>

javascript - 使用 AJAX 请求生成 PDF

javascript - 带 for 语句的空表单

php - AJAX 加载时插入数据

javascript - 为什么我收到此错误 : Uncaught TypeError: cannot read property 'john' of undefined

javascript - 如何在 javascript 中仅显示 HTML 选择框中当前选定的数据?

javascript - 运行函数 x 次

javascript - 如何从当前X-Editable的成功功能触发打开一个新的X-Editable?