1

重複の可能性:
jQuery の POST リクエストで & をエスケープする方法は?

jQuery ajax を使用して、Web サイトでオートコンプリートを実行しています。& はデータベースに保存でき、投稿された変数に大混乱をもたらすだけです。必要なこと: ajax=true&search=t&w(検索変数のアンパサンドと w の部分を使用)

ただし、新しいポスト変数を作成しますw

&'sアンパサンドが新しい投稿変数を作成するのをブロックする方法はありますか、またはto and/Andを変更するだけでよいですか?

これが私のコードです:

$.ajax({
    url: page_url,
    type: 'POST',
    data: 'ajax=true&search='+$('#search_string').val(),
    success: function(data){

    }
});

値がエンコードされている場合、データベースはエンコードされた & をどのように処理しますか?

4

3 に答える 3

3

データに渡された値をオブジェクトとして設定すると、簡単にエンコードされます。

data: {ajax:isAjaxTrue, search: searchValue}

参照: jQuery の POST リクエストで & をエスケープする方法は?

于 2012-10-03T17:25:29.510 に答える
2

パラメータ値に特殊文字が含まれないようにするには、URL エンコーダを使用する必要があります。

encodeURIComponent(value);
于 2012-10-03T17:23:14.550 に答える
1

をご覧くださいencodeURIComponent()

$.ajax({
    ...
    data: encodeURIComponent('ajax=true&search='+$('#search_string').val()),
    ...
});
于 2012-10-03T17:23:51.980 に答える