パラメータ(空白を含む)でテキストをロード関数に渡そうとしていますが、機能しないようです。
現在私はこれをやっています:
var text ="hello world this is an example";
$("#selector").load("http://"+ document.domain + "/myfunction/"+text);
それを行う方法はありますか?
jQueryではなくURLで関数を直接呼び出すと、うまく機能します。
ありがとう。
パラメータ(空白を含む)でテキストをロード関数に渡そうとしていますが、機能しないようです。
現在私はこれをやっています:
var text ="hello world this is an example";
$("#selector").load("http://"+ document.domain + "/myfunction/"+text);
それを行う方法はありますか?
jQueryではなくURLで関数を直接呼び出すと、うまく機能します。
ありがとう。
「テキスト」はencodeURIでエンコードする必要があります。
var text = encodeURI('hello world this is an example');
これにより、空白がURL互換の文字に置き換えられます。これは、URLに直接アクセスしているときにブラウザが内部で行うものです。
URLで関数を直接呼び出すと、ブラウザでうまく機能する場合があります。しかし、それは将来の保証ではありません。関数を使用してURLをエンコードする必要がありますencodeURI
。ユーザー指定のデータを追加した後。
var text ="hello world this is an example",
url = encodeURI("http://"+ document.domain + "/myfunction/"+ text);
$("#selector").load(url);
また、サーバー側では、このような操作を実行して、ユーザーが入力したデータを取り戻すことができます。
$data = urldecode($_SERVER['REQUEST_URI']);
// This will return
// /myfunction/hello world this is an example