如何在不丢失换行符和空格的情况下将js字符串变量传递给php


how do i pass js string variable to php without losing newlines and spaces?

我有一个javascript变量,它包含一个带有新行和空格的字符串,例如"a''n d"我想在不丢失任何空格或新行的情况下将其传递给php。目前我正在使用这个:

my_window = window.open("", "ChemEdit Molfile", "status=1,width=550,height=350");    
urlString = "/chemedit/b.php?var=" +r;
my_window.location = urlString;

其中r是i通过的字符串。

但如果我在php中这样做

echo $_GET["var"];

我只是把它放在一行上,空格已经用完了

请帮助

您需要对字符串进行编码,可以使用encodeURIcomponent()

我不确定,但尝试使用encodeURIComponent函数:

my_window.location = encodeURIComponent(urlString);

如果要在url中传递换行符和空格,你必须遵守url字符串的字符规则,其中空格必须表示为"%20"和换行符'''n"是'%5Cn'。上面的答案可能会这样做自动,但如果您发现需要手动encode或adjust,这里是所有特殊ascii的参考应转换为通过的字符http标头请求:http://www.w3schools.com/tags/ref_urlencode.asp