1

.ajax当我将特殊字符发送到 data 参数时,我在使用 jQuery 的方法时遇到问题,但仅限于 Internet Explorer 7。它适用于 IE 8、9、Firefox 和 Chrome。

这是代码的和平:

jqxhr = $.ajax({url: "/aj_search/", async: true, type: 'POST', dataType: 'json',
  data: decodeURIComponent($('#crit_form').serialize(true)),
  success: function(json){ // process code}
});

这是我发送的数据(当我打印 decodeURIComponent 结果时):

boite=Boîte+Manuelle&csrfmiddlewaretoken=ENFuL4ioBQ4nfkUESmkkAzNtHB7rhTKV&prix_min=0&prix_max=15&km=&annee_min=1989&annee_max=2012&dpt=&modeles=&page=1&p_page=10&sort_crit=weight&sort_dir=1&comps=&is_comp=ma=0&ex

问题在于Boîte+Manuelle。当我打印我在 django 视图中得到的内容(在服务器上接收到的数据)时,我得到:

Bo�te Manuelle

这里有什么想法吗?为什么这仅适用于 IE7?

提前致谢。

4

3 回答 3

1

无论如何您都不需要使用decodeURIComponent,请尝试将其删除。

于 2012-12-22T15:58:27.197 回答
0

尝试 encodeURIcomponent 代替

于 2012-12-22T15:18:56.310 回答
0

http://webdesign.about.com/od/localization/l/blhtmlcodes-ro.htm

这肯定会帮助你。使用给出的代码而不是特殊字符 ok。

于 2012-12-22T16:32:04.087 回答