我的代码中再次使用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=""></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();
}
})
}