ajax
2013-04-24 72 views 1 likes 
1

我使用ASP.NET MVC和kendo ui編輯器和jquery ajax。Javascript編碼功能和unicode

基本上,如果我在劍道UI編輯器£性格和發佈內容使用AJAX與此代碼的服務器:

$.ajax({ 
    url: "/API/saveContent", 
    data: "content=' + escape($("#textContent").data("kendoEditor").value()), 
    type: "POST", dataType: 'json', async: false, 
    success: function (data) {}, 
    error: function() { alert('ajax error'); } 
}); 

我結束了在服務器上是?性格而不是£。

html頁面是UTF-8,所以對服務器的ajax調用是unicode,而且javascript轉義函數不是以unicode方式工作的,它只是使用擴展ascii字符集並將£編碼爲:%A3

有沒有在javascript中使用unicode來完成這個轉義功能的方法,我想我最終得到:%C2%A3(我通過使用UTF-8 html頁面並將文本框放入£並提交了表格並在Fidler中顯示這是已經在帖子的請求主體中的內容)。

+0

「這個帖子不符合我們的質量標準。」當它不告訴你問題是什麼時,它相當有趣,它需要更長的時間來「解決」問題而不是寫它。 – Paul 2013-04-24 17:27:41

回答

1

您應該使用的encodeURIComponent代替escape

data: "content=" + encodeURIComponent($("#textContent").data("kendoEditor").value()), 
+0

非常感謝,我之前看到過這個功能,但是因爲它的名字暗示它更適用於網址,所以將它丟棄了。 – Paul 2013-04-24 17:49:47

+0

@Paul那麼數據是以'application/x-www-urlencoded'的形式發送的 – Musa 2013-04-24 17:55:43

相關問題