【发布时间】:2011-11-28 12:15:22
【问题描述】:
我有一个 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 脚本,而无需编码/解码?
干杯, 邓肯
【问题讨论】:
-
你能发布你用来发送
Reason到php脚本的代码吗? -
你可以使用内置的 Javascript 函数
encode(str)。我对 PHP 不太熟悉,但是通常任何从 http 查询字符串中检索值的东西都应该自动解码编码的元素。
标签: javascript ampersand