将&符号从JavaScript传递到PHP / MySQL

时间:2011-09-30 13:53:00

标签: javascript ampersand

我有一个textarea,我正在使用JavaScript来检索其值并通过PHP脚本发送到MySQL数据库(不要问为什么 - 长篇故事和不可避免的解决方案!)。

PHP脚本清理输入,但由于某些原因,&符号没有到达所述脚本 - 它也会在&符号后剔除任何信息。

var Reason = $('textarea#txt_reason').val();
Reason = Reason.replace(/&/g,'&');

如果我使用上述内容,则会在&符号后剔除所有文字。

var Reason = $('textarea#txt_reason').val();
Reason = Reason.replace(/&/g,'%26');

如果我使用上述内容,%26确实会被发送到PHP,从而发送到MySQL数据库。

如果我在PHP脚本中var_dump $ _GET请求,&符号永远不会那么远,所以它与mysql_real_escape_string / htmlentities等没有任何关系。

有没有办法可以直接发送“&”到我的PHP脚本,而不必编码/解码?

干杯, 邓肯

1 个答案:

答案 0 :(得分:1)

使用Javascript发送的任何数据都应使用encodeURIComponent()进行编码。这将照顾&,=和其他麻烦制造者。数据自动解码为$ _GET数组。

(大多数Javascript框架,比如JQuery为你做这个......)