删除%20并使用&传递值使用$ _GET

时间:2013-03-13 20:18:56

标签: php jquery

我正在尝试通过链接发送一个值,并使用$ _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将其删除。但仍然没有帮助。

3 个答案:

答案 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)

使用URL Decoder function

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会对这些字符进行编码。这些行为很可能在浏览器中不一致。