POST数组在通过ajax发送数据后为空



我的代码中再次使用ajax。我正在为我的项目制作实时搜索ajax系统,但当我将数据发送到search.php&var_dump POST数组,我得到的是空的POST数组。

AJAX

function searching(string){
 $.ajax({
  url  : "request/search.php",
  type : "POST",
  data : "search="+string,
  type : "text",
  beforeSend : function(http){
  },
  success : function(response,status,http){
    alert(response);
  },
   error : function(http,status,error){
        $('.response').html("<span class='error'>Something went wrong</span>");
        $(".response").slideDown();
    }
   })
 }

HTML

<form id="searchBox">
     <p>
       <input type="text" name="search" id="search"  onkeyup="searching(this.value)" placeholder="Search here">
       <button class="find" data-icon="&#xe986;"></button>
     </p>
   </form>

type : "text",覆盖type : "POST",。因此,您必须删除type : "text",,并且由于jQuery 1.9,您应该使用method而不是type

除此之外,你不应该写data : "search="+string,,而应该使用:

data : {
   search : string
}

相反,因为这样您就可以确保string将始终以正确的方式进行编码。

function searching(string){
$.ajax({
     url  : "request/search.php",
     type : "POST",
     data : {'search': string},
     type : "text",
     beforeSend : function(http){
    },
success : function(response,status,http){
     alert(response);
    },
error : function(http,status,error){
    $('.response').html("<span class='error'>Something went wrong</span>");
    $(".response").slideDown();
   }
  })
}

相关内容

  • 没有找到相关文章

最新更新