0
我正在使用$ .ajax向我的Web服務器發送SQL查詢。查詢字符串包含幾個單引號(')。我在編碼單引號時遇到了一個非常混亂的問題。如何在編寫jQuery AJAX調用時對單引號進行編碼?
我這樣的代碼,請注意查詢字符串中的單引號:
var query = "select SID, age from Students where Name=\'Jason\'" + String.fromCharCode(10) +
"order by age asc";
$.ajax({
url: "http://mywebserver/query",
data: {
env: "dbserver1",
endTime: "getUTCDate()",
startTime: "dateadd(hour, -336, getUTCDate())",
text: query
},
type: "GET",
dataType: "json"
}).done(function (datum) {
});
如果我不顯式調用encodeURIComponent方法使AJAX調用之前,jQuery將編碼對我來說,但是,單引號默認情況下不會編碼爲%27,因此查詢不起作用;
如果我將一個編碼的查詢字符串傳遞給jQuery,它會再次編碼,這會弄亂查詢字符串。
我能想到的唯一解決方案是,我必須覆蓋jQuery如何編碼URL的行爲,並用%27替換所有(')。但我不知道jQuery是否支持。 有沒有人有這個解決方案?