JQuery AJAX中遇到這樣一個問題,參數中包含特殊字符,比如&'#@等
這是執行AJAX的時候就會出問題,因為所傳的參數變了.
看個示例就明白:
$.ajax({
url: '/ashx/ajax.ashx',
type: 'post',
data: 'option=delete&name=11&adb,
success: function (data) {
if (data != 'error') {
}
}
});
上面執行的ajax就是異步刪除一個name為 11&abd 的數據
當請求到ajax.ashx頁面時,我們獲取到的name參數為11
執行操作后會發現其實刪除了 name 為 11的數據,而沒有刪除 name 為 11&abc 的數據
這是由于有&特殊字符,把以前的倆個參數變成了三個參數 option,name,abc
這時就需要用另外一種方法傳遞參數:
$.ajax({
url: '/ashx/ajax.ashx',
type: 'post',
data:{ 'option':'delete','name':'11&adb'},
success: function (data) {
if (data != 'error') {
}
}
});
采用上面的json格式傳遞參數就可以避免特殊字符引起的參數錯誤問題.