2015-12-15 87 views
0

我有一个调用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> 
+0

可能重复的[在jQuery或JavaScript中转义单引号](http://stackoverflow.com/questions/5083646/escape-single-quotes-in-jquery-or-javascript) –

+0

ajax代码工作得很好,如果我想要用目标代码填充目标。问题是我告诉ajax运行一个正在填充其他容器的代码。 – valiD

+0

为什么首先将静态HTML包装到变量中? – Sven

回答

0

尝试以下操作:

$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” 是ヶ辆响应

希望这有助于