ここにコードを入力してください。ユーザーからの入力テキストを読むサーバーにajaxコールを送信しようとしています(それは、ヘブライ語のUTF-8文字セットです)。 私はこのようなものを使用します。jQuery ajaxのダブルエンコーディングの問題
my_url = some_url + textinput
my_url = encodeURI(my_url)
私が見encodeURI関数の後に、ヘブライ語の部分はそのように見えるということである問題:%D7%9E%D7%9C%D7%95%D7%9F
(結構です)。私は、jQueryのコールを使用します。
$.ajax({
url: search_url,
contentType: "application/json; charset=utf-8",
dataType: 'json',
error:errorData,
success:getSearchResults
});
を、私はそれが再び、このようなコード化されたように、サーバでそれがそれぞれ「%」記号は今や25%(パーセント記号のUTF-8表現)であることに見えることを確認し、私のヘブライ語の部分は以下のようになります。 %25D7%259E%25D7%259C%25D7%2595%25D7%259F
(各 "%" => 25%)
私は私はあなたがすることを願って、これを克服するために、とにかく見つけることができませんでした:-) Cheeers、 ロイ
これを正しく理解すれば、実際のURLにGETパラメータがエンコードされます。あなたの '.ajax()'オプションに 'data'属性を使わない理由はありますか? – nrabinowitz
また、最初にエンコードする必要があるのでしょうか? '.ajax()'があなたのためにやっているようです。 – nrabinowitz
@nrabinowitzデータ属性の使用に関しては、まだ試していませんでしたが、おそらく(私はあなたが掘り下げた例やシェルを持っていますか?)。あなたの2番目の発言については、まあ、私もこれを試したが、それはちょうどヒブリーの部分をURLに連結して正しくエンコードされていないようだ。 – user973245