0

次の JQuery AJAX 関数があります。

function JQueryAJAXFunction(){
$input = document.getElementById("textInput").value;
console.log($input ); //Console output: "How to"
$('#resultsOutput').load('ajax/serverside/filepath.php?urlvariable='+$input);
} 

テキスト フィールドから $input の値を取得します。これは、"How to"などの 2 文字の単語であり、ブラウザーのコンソールに表示されます。

$input は、サーバー側スクリプトのファイル パスと連結され、URL 変数として割り当てられます。ただし、そうすると、$input の最後の単語 (この場合は "to") が消えたり、途切れたりします。

関数が実行されると、サーバー上の URL 変数が取得され、次のように表示され$_GET["urlvariable"]ます。値は"How"と推測できます。

問題の推奨される解決策は何ですか? どうすれば「方法」$_GET["urlvariable"]と同じになることができますか。

4

1 に答える 1

1

URL で使用する場合、特定の文字をエンコードする必要があります。スペースもその 1 つです。JavaScript は、URL に必要な文字をエンコードするグローバル関数を提供します - encodeURIComponent. を連結するだけでなく、次の$inputように連結します。

encodeURIComponent($input)

参照:

于 2013-10-07T15:15:02.027 に答える