#
URL で JS を使用すると「/false」が返されるのはなぜですか?
var el = '#string with number character -> #'
el = el.replace(/[']/g, ''');
el = el.replace(/[#]/g, ''');
xmlhttp.open("GET","process_add_article.php?&title=" + (el),true);
xmlhttp.send();
#
URL で JS を使用すると「/false」が返されるのはなぜですか?
var el = '#string with number character -> #'
el = el.replace(/[']/g, ''');
el = el.replace(/[#]/g, ''');
xmlhttp.open("GET","process_add_article.php?&title=" + (el),true);
xmlhttp.send();
URINumeric Character Reference
ではなくを使用しています。Percent-Encoding
encodeURIComponent
代わりに使用することもできます。
var el = '#string with number character -> #';
xmlhttp.open("GET", "process_add_article.php?&title=" + encodeURIComponent(el), true);
xmlhttp.send();
、および文字encodeURI
をエンコードしないものと混同しないでください。#
+
=
URL の文字列をエンコードしたい場合は、それを行うためのネイティブ メソッドがあります。
var el = '#string with number character -> #';
el = encodeURI(el);
これがあなたが探しているものを達成するかどうかはわかりませんが、URLは次のようになります。
xmlhttp.open("GET","process_add_article.php?&title=#string%20with%20number%20character%20-%3E%20#",true);
これは、サーバーがハッシュ (#) を無視するため、title パラメーターが空であることを意味します。
# はフラグメント識別子を指定するためです。フラグメント識別子は完全にクライアント側のエンティティであるため、サーバーには送信されません。このトピックについてはウィキペディアを参照してください。