ajax
2013-04-24 68 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

相关问题