サーバーにリクエストを送信するために .ajax() を使用しています。サーバーは PHP を使用してリクエストを処理しています。
php urldecodeによると、 $_REQUEST は既にデコードされており、プラス記号 ('+') はスペース文字にデコードされています。
私が見つけたのは、Plus 記号がアンダースコア ('_') にデコードされていることです。これは、+ と %20 の両方に当てはまります。これを回避する方法はありますか?これは予期しない動作のようです。
その価値のコードサンプル:
アヤックス:
$.ajax({
url: 'mySite.php',
method: 'POST',
data: $(this).serialize()
});
php:
$myVar = "Veh #";
if (isset($_REQUEST["$myVar"])){
//do stuff
}
//to see request
var_dump($_REQUEST);
var_dump は
配列(1) {["Veh_#"]=> 文字列(1) "6"}
私が期待するのは
配列(1) {["車両番号"]=> 文字列(1) "6"}
投稿されたフィドラーデータ:
車両+%23=6