转义单引号jQuery HTML
问题描述:
我有一个调用PHP类的ajax函数,它应该返回$ var中的代码。 由于$ var字符串中存在单引号,因此JavaScript会一直给出错误。转义单引号jQuery HTML
用ajax发送代码的最佳方式是什么,而不用担心代码中的字符和行数?
$var = ' <span onclick="propMove(\'54957_363807.jpg\',\'7242\',\'right\');" class="badge badge-grey" style="float:right;margin:5px;cursor:pointer"><i class="fa fa-arrow-circle-right"></i></span> ';
<script> $("#container .content").html(' <?=json_encode($picsIn)?> '); </script>
答
尝试以下操作:
$var = htmlentities($var);
这将返回所有的HTML字符,将不包含引号。
在jQuery中,然后执行下列操作以Ajax响应
function decodeEntities(encodedString) {
var textArea = document.createElement('textarea');
textArea.innerHTML = encodedString;
return textArea.value;
}
var myCodeFromPHP = decodeEntities(myAjaxResponse);
其中 “myCodeFromPHP” 是干净的正确的HTML,而 “myAjaxResponse” 是ヶ辆响应
希望这有助于
可能重复的[在jQuery或JavaScript中转义单引号](http://stackoverflow.com/questions/5083646/escape-single-quotes-in-jquery-or-javascript) –
ajax代码工作得很好,如果我想要用目标代码填充目标。问题是我告诉ajax运行一个正在填充其他容器的代码。 – valiD
为什么首先将静态HTML包装到变量中? – Sven