我正在尝试使用空格和特殊字符传递字符串,但它的错误并没有任何效果。 例如
<img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" >
但是'&amp;'内部字符串celebritynews&amp; gossip正在打破代码。
我发现问题出在addKeyword
函数中,我使用以下代码来定义名为url的变量,
function addKeyword(categoryId){
var url = "addKeyword.php?uid=" + user_id + "&categoryId=" + categoryId + "&keyword=" + $("#keyword_" + categoryId).attr("value");
}
并且$(“#keyword_”+ categoryId)导致问题。有什么方法可以解决这个问题吗?
答案 0 :(得分:3)
假设您在URL上传递字符串,则参数值需要进行URL编码。
...摘要编辑......
&
被解释为HTML,必须采用HTML编码,特别是&
HTML
<img onclick='addKeyword("celebritynews&gossip");' src="images/plus.png" />
的JavaScript
使用encodeURIComponent(s)。
var url = "addKeyword.php?uid=" + encodeURIComponent(user_id) + "&categoryId=" + encodeURIComponent(categoryId) + "&keyword=" + encodeURIComponent($("#keyword_" + categoryId).attr("value"));
答案 1 :(得分:1)
尝试
<img onclick="addKeyword('<?php echo htmlspecialchars('celebritynews&gossip'); ?>')" src="images/plus.png" >
答案 2 :(得分:0)
假设您正在将此文字写入网页,您可以使用htmlspecialchars
确保在HTML中正确转义。
例如:
<?php echo htmlspecialchars("celebritynews&gossip"); ?>
这有帮助吗?