Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript getJSON不以用户类型发送新请求_Javascript_Jquery_Getjson - Fatal编程技术网

Javascript getJSON不以用户类型发送新请求

Javascript getJSON不以用户类型发送新请求,javascript,jquery,getjson,Javascript,Jquery,Getjson,给定以下JavaScript,当用户更改搜索词时,我在发送新请求时遇到问题。输入超过3个字符后,才应开始搜索/显示结果。它目前只在超过3个字符的初始项后进行一次搜索,但在此之后不会发送另一个请求 jQuery $("#results-container").hide(); $("#global-search").keyup(function(e) { var q = $("#global-search").val(); if (e.which == 13) { window.l

给定以下JavaScript,当用户更改搜索词时,我在发送新请求时遇到问题。输入超过3个字符后,才应开始搜索/显示结果。它目前只在超过3个字符的初始项后进行一次搜索,但在此之后不会发送另一个请求

jQuery

$("#results-container").hide();
$("#global-search").keyup(function(e) {

  var q = $("#global-search").val();
  if (e.which == 13) {
    window.location.replace("/search?q=" + q);
  }

  //Only begin search with at least 3 characters.
  if (q.length > 3) {
    $("#results-container").show();
    ajax_search();
  }

  //Send search query
  function ajax_search() {
    $.getJSON("//search.url-to-rest-api.com?q=" + q, {},
      //Get results and make 'em look good
      function(data) {
        console.log(data);
        //  $(".results").append("Results for <b> " + q + "</b>");
        $.each(data.data, function(i, data) {
          if (data.type === "Practice Area") {
            $(".practice-area-results").append("<li class='result-item'><a href=\"" + data.permalink + "\">" + data.title + "</a></li>");
            if ($(".practice-area-results").val() == '') {
              $(".practice-area-results-header, .practice-area-results").empty();
            }
          }
        });
      });
  }  
}); 
$(“#结果容器”).hide();
$(“#全局搜索”).keyup(函数(e){
var q=$(“#全局搜索”).val();
如果(e.which==13){
window.location.replace(“/search?q=“+q”);
}
//仅以至少3个字符开始搜索。
如果(q.长度>3){
$(“#结果容器”).show();
ajax_search();
}
//发送搜索查询
函数ajax_search(){
$.getJSON(“//search.url到restapi.com?q=“+q,{},
//得到结果,让他们看起来很好
功能(数据){
控制台日志(数据);
//$(“.results”).append(“用于“+q+”的结果”);
$.each(data.data,function(i,data){
如果(data.type==“练习区”){
$(“.practice area results”)。追加(“
  • ”; 如果($(“.practice area results”).val()=''){ $(“.practice area results header,.practice area results”).empty(); } } }); }); } });
    HTML

    <div class="row desktop-search">
        <div class="row">
           <div class="col-lg-12">
            <input type="text" class="form-control" id="global-search" style="width:100%; position: fixed;" placeholder="Search...">
          </div>
          <div id="results-container">
            <div class="search-results">
              <p class="practice-area-results-header">Practice Area</p>
              <div class="practice-area-results"></div>
            </div>
          </div>
        </div>
      </div>
    
    
    

    实践区域


    在中似乎工作正常。检查浏览器控制台。问题是搜索结果没有反映新的搜索查询。它只显示第一个查询的结果。如何每次根据新查询呈现新结果?如果只显示第一次查询的结果,则每次搜索时都会传递相同的
    q
    。请检查XHR选项卡,查看控制台中的每个输入都发送了什么响应。如果
    q
    每次都不一样,那么问题可能是
    //search.url到restapi.com
    向不同的查询发送相同的响应。检查这些问题。