[英]Passing strings having special characters
我正在尝试传递带有空格和特殊字符的字符串,但是它出现错误并且没有任何作用。 例如
<img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" >
但是字符串celebritynews&gossip中的'&'破坏了代码。
我发现问题出在addKeyword
函数中,我使用以下代码定义了一个名为url的变量,
function addKeyword(categoryId){
var url = "addKeyword.php?uid=" + user_id + "&categoryId=" + categoryId + "&keyword=" + $("#keyword_" + categoryId).attr("value");
}
并且$(“#keyword_” + categoryId)引起了问题。 有什么办法解决吗?
假设您要在URL上传递字符串,则参数值需要进行URL编码。
...摘要编辑...
&
被解释为HTML,并且必须经过HTML编码,尤其是&
HTML
<img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" />
JavaScript的
使用encodeURIComponent。
var url = "addKeyword.php?uid=" + encodeURIComponent(user_id) + "&categoryId=" + encodeURIComponent(categoryId) + "&keyword=" + encodeURIComponent($("#keyword_" + categoryId).attr("value"));
尝试
<img onclick="addKeyword('<?php echo htmlspecialchars('celebritynews&gossip'); ?>')" src="images/plus.png" >
假设您正在将此文本写入页面,则可以使用htmlspecialchars
确保在HTML中正确转义了该文本。
例如:
<?php echo htmlspecialchars("celebritynews&gossip"); ?>
有帮助吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.