0

我正在尝试通过链接发送一个值并使用 $_GET 获取其他文件上的值,但问题是该值&介于两个单词之间,并且在 url 中它就像

list.php?v=Bakery%20&%20Cake%20Design

当我在第二页中回显这个值时,它bakery变成了bakery cake & design. 由于我在单击时通过 jquery 从第一页发送此值,因此我尝试使用从链接encodeURI()中删除该值%20,但它仍然无济于事,因为%20 &当我回显该值时,之后的部分未打印在第二页上。我的jQuery代码是

var vendor = $(this).text().replace(/\s/g,"%20");在这我试图通过replacetoo 删除它。但还是没有帮助。

4

3 回答 3

1

您不需要删除 %20 只需检查变量和值之间不应该有任何空格!

这将产生 %20 :

echo '<td><b><font color="#663300"><a href="deactivate.php?id =' . $row['ID'] . '">Deactivate User</a></font></b></td>';

这不会:

`echo '<td><b><font color="#663300"><a href="deactivate.php?id=' . $row['ID'] . '">Deactivate User</a></font></b></td>';`

原因:之间只是一个空格(php?id ='.$row)

于 2018-04-10T12:24:49.453 回答
0

使用URL 解码器功能

echo urldecode("A%20B") // will print 'A B'
于 2013-03-13T20:20:11.573 回答
0

在 JS 方面,您需要encodeURIComponent()在带有 & 符号的项目上使用。

var title = encodeURIComponent('bakery cake & design'); // bakery%20cake%20%26%20design

与之相反encodeURI

请注意,encodeURI 本身不能形成正确的 HTTP GET 和 POST 请求,例如 XMLHTTPRequests,因为“&”、“+”和“=”未编码,它们在 GET 和 POST 请求中被视为特殊字符。然而,encodeURIComponent 确实对这些字符进行了编码。这些行为很可能在浏览器中不一致。

于 2013-03-13T20:31:14.733 回答