在提交时阻止页面重新加载

时间:2016-11-06 19:30:25

标签: jquery api wikipedia

我试图使用维基百科API。 我得到了正确的结果,我可以在控制台中看到它。 结果对于正确的div很好,但是当函数完成工作时它们会消失。我只在调试时才看到地方的值。 这是点击提交功能:

function getWikiVal(){
  if ($("#search").val() != ""){
var searchTerm = $("#search").val();
var queryUrl = "https://en.wikipedia.org/w/api.php?action=opensearch&search="+ searchTerm +"&format=json&callback=?";

$.ajax({
  url: queryUrl,
  dataType: 'json',
  type: 'GET',
  success: function(data, status, jqXHR) {
    console.log(data);

    for(var i = 0; i < data[1].length || i < 9; i++) {
      console.log(data[1][i]);
      console.log(data[2][i]);
      $("#results").append('<h3>' + data[1][i] + '</h3><p>' + data[2][i] + '</p>');
    }
  }
});

//console.log("the val is " + $("#search").val());
  }
}

代码也在这里: https://codepen.io/kerendesigns/pen/gLYMYw 感谢。

1 个答案:

答案 0 :(得分:0)

结果消失,因为当您“提交”表单(点击Go)时会重新加载页面。

这样做:

$('#search-form').submit(function (event) {
    event.preventDefault();
    getWikiVal();
});

并在HTML标记中删除对getWikiVal()的调用。