作者u315521 (羊小弟)
看板Ajax
標題[問題] 後端php接收不到特殊符號
時間Sat Jan 16 22:15:31 2016
我從網路上抓到一個ajax自動完成的程式碼,前端輸入資料傳到後端php,
但發現特殊符號會無法傳遞,例如打John & Mary,後端php只會收到John,
&之後都會消失,我查了一下,似乎是要加escape()這個函數嗎,但本人是外行,
能否幫我看一下要加在哪,或是要怎麼解決,感謝!
$(document).ready(function(){
$("#enname").keyup(function(){
$.ajax({
type: "POST",
url: "ajax_search.php",
data:'keyword='+$(this).val(),
dataType: "text",
beforeSend: function(){
$("#enname").css("background","#FFF url(LoaderIcon.gif) no-repeat 165px");
},
success: function(data){
$("
#suggesstion-box").delay(1000).show();
$("
#suggesstion-box").delay(1000).html(data);
$("#enname").css("background","#FFF");
}
});
});
$("#enname").blur(function(){
$("
#suggesstion-box").delay(100).hide(100);
});
});
function selectCountry(val) {
$("#enname").val(val);
$("
#suggesstion-box").hide();
}
</script>
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.22.242
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Ajax/M.1452953734.A.1D8.html
1F:推 oToToT: data: encodeURIComponent(keyword='+$(this).val()), 01/16 22:36
2F:→ oToToT: 後端收到後再decode 01/16 22:36
3F:→ u315521: 感謝回復,我試了好像不行,但我改用以下這樣就可以了 01/16 23:48
4F:→ u315521: data:'keyword='+$(this).serialize(), 01/16 23:48
5F:→ Darkland: 應該是 data: "keyword=" + encodeURIComponent(..) 01/17 15:43
6F:推 oToToT: 對吼,忘記=也會被encode了 01/17 17:27