1

ASP.NET MVC と kendo ui エディターと jquery ajax を使用しています。

基本的に、剣道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 としてエンコードするだけです。

Unicode でこのエスケープ機能を実行する JavaScript の方法はありますか? %C2%A3 で終了したいと思います (UTF-8 html ページを使用してこれを解決し、テキスト ボックスに £ を入力して、フォームとフィドラーでは、これが投稿のリクエスト本文のコンテンツであることが示されました)。

4

1 に答える 1

1

encodeURIComponent代わりに使用する必要がありますescape

data: "content=" + encodeURIComponent($("#textContent").data("kendoEditor").value()),
于 2013-04-24T17:36:17.690 に答える