Javascript 用双引号传递参数

Javascript 用双引号传递参数,javascript,php,variables,parameters,quote,Javascript,Php,Variables,Parameters,Quote,我试图传递一个带有“caracter”的变量,但“bigbang”的“caracter”有一个问题 发送 您应该做的是生成一个JavaScript字符串,因此您需要转义为JavaScript(json\u encode()),并删除用于转义PHP的对addslashes的调用 <a onclick='share(<?= json_encode($aux) ?>)'>Send</a> 或者可以将PHP中的数据嵌入到数据属性中(转义为HTML) Error:@Z

我试图传递一个带有“caracter”的变量,但“bigbang”的“caracter”有一个问题

发送
您应该做的是生成一个JavaScript字符串,因此您需要转义为JavaScript(
json\u encode()
),并删除用于转义PHP的对
addslashes
的调用

<a onclick='share(<?= json_encode($aux) ?>)'>Send</a>
或者可以将PHP中的数据嵌入到数据属性中(转义为HTML)


Error:@Zarlok注意,我在
onclick='share()周围使用了单引号“
因为
json_encode
将创建一个双引号字符串。您没有使用代码Isuggested@Zarlok在JavaScript字符串属性中转义HTML实体似乎不是一个好主意,只使用
json_encode
,因为我已经更新了我的答案,使用json_encode不起作用…@Zarlok“不起作用”“这不是一个很有帮助的评论。你应该经常解释问题是什么。显示实际输出的HTML。查看我的更新
<a onclick='share(<?= json_encode($aux) ?>)'>Send</a>
<a id='share-link'>Send</a>
<script>
document.getElementById('share-link').addEventListener('click', function() {
   var shareContent = <?= json_encode($aux) ?>;
   share(shareContent);
});
</script>
<a id="share-link" data-share-content="<?= htmlentities($aux) ?>">Send</a>
<script>
document.getElementById('share-link').addEventListener('click', function() {
   share( this.getAttribute("data-share-content") );
});
</script>
<a id="share-link" 
   onclick="share(this.getAttribute('data-share-content'))"
   data-share-content="<?= htmlentities($aux) ?>"
>Send</a>