0

#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(); 
4

3 に答える 3

0

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をエンコードしないものと混同しないでください。#+=

于 2012-10-12T17:37:28.770 に答える
0

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 パラメーターが空であることを意味します。

于 2012-10-12T17:32:55.147 に答える
0

# はフラグメント識別子を指定するためです。フラグメント識別子は完全にクライアント側のエンティティであるため、サーバーには送信されません。このトピックについてはウィキペディアを参照してください。

于 2012-10-12T17:33:56.533 に答える