1. ホーム
  2. ジャバスクリプト

[解決済み】AJAXリクエストのためにjQueryで文字列をURLエンコードする

2022-04-03 13:06:09

質問

Googleのインスタント検索をアプリケーションに実装しています。ユーザーがテキストを入力すると、HTTPリクエストを発行するようにしたいと思います。唯一の問題は、ユーザーが姓と名の間にスペースを入れたとき、そのスペースが + そのため、検索ができません。どうすれば、スペースを + または、文字列を安全にURLエンコードしてください。

$("#search").keypress(function(){       
    var query = "{% url accounts.views.instasearch  %}?q=" + $('#tags').val();
    var options = {};
    $("#results").html(ajax_load).load(query);
});

解決方法は?

試す エンコードURIComponent .

特定の文字の各インスタンスを、その文字の UTF-8 エンコーディングを表す 1 つ、2 つ、3 つ、または 4 つのエスケープシーケンスで置き換えることによって、統一資源識別子 (URI) コンポーネントをエンコードします (2 つの "surrogate" 文字で構成される文字の場合は、4 つのエスケープシーケンスのみとなります)。

var encoded = encodeURIComponent(str);