我正在尝试通过链接发送一个值,并使用$ _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");
我试图通过replace
将其删除。但仍然没有帮助。
答案 0 :(得分: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)
答案 1 :(得分:0)
echo urldecode("A%20B") // will print 'A B'
答案 2 :(得分:0)
在JS方面,您需要在项目上使用encodeURIComponent()
和&符号。
var title = encodeURIComponent('bakery cake & design'); // bakery%20cake%20%26%20design
与encodeURI
相反:
请注意,encodeURI本身无法形成正确的HTTP GET和POST请求,例如对于XMLHTTPRequests,因为&#34;&amp;&#34;,&#34; +&#34;和&#34; = &#34;未编码,在GET和POST请求中被视为特殊字符。但是,encodeURIComponent会对这些字符进行编码。这些行为很可能在浏览器中不一致。