2012-10-03 21 views
1

可能重複:
How to escape & in a POST request in jQuery?的Javascript AJAX後

我使用jQuery的AJAX做自動完成我的網站上。我遇到了一個問題,但一個&可以存儲在數據庫中,這隻會對我發佈的變量造成嚴重破壞。 它需要做什麼:ajax=true&search=t&w(帶有&符號和w部分搜索變量)

但是,它的作用是創建一個新的後變量w

有沒有辦法從創建一個新的變量後阻斷符號,或者我只需要改變&'s和/和

這裏是我的代碼:

$.ajax({ 
    url: page_url, 
    type: 'POST', 
    data: 'ajax=true&search='+$('#search_string').val(), 
    success: function(data){ 

    } 
}); 

如果值被編碼,數據庫將如何處理編碼的&?

+4

您需要正確編碼的參數。請告訴我們你的代碼。 – SLaks

回答

2

您需要使用url編碼器來避免參數值中的特殊字符。

encodeURIComponent(value); 
1

看看encodeURIComponent()

$.ajax({ 
    ... 
    data: encodeURIComponent('ajax=true&search='+$('#search_string').val()), 
    ... 
});