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_ex_ma=0

問題はBoîte+Manuelleにあります。djangoビューで取得したもの(サーバーで受信したデータ)を印刷すると、次のようになります:

Bo�te Manuelle

ここにアイデアはありますか?これが IE7 でしか機能しないのはなぜですか?

前もって感謝します。

4

3 に答える 3

1

decodeURIComponentとにかく使用する必要はありません。削除してみてください。

于 2012-12-22T15:58:27.197 に答える