//Controller
class Index extends Controller {
public function index(){
//some code ...
return $this->fetch();
}
}
//Template
<div class="hello">
Hello World!
</div>我想通过ajax/pjax加载这个页面,结果页面上不是显示:Hello World!
而是显示:
"<div class=\"hello\">\r\nHello World!\r\n<\/div>"
问题在于它的内容被转义过了!包括引号、换行符、斜杠等。
个人觉得:
框架Response类判断请求为ajax/pjax时,会自动将return的数据转换成json格式,这中间可能就把数据中的特殊符号进行了转义……
如果仅仅是return一个数组之类的数据,它被转换成json那还好说,可是如果是字符串数据(就比如html)就出问题了。
比如我return一串html代码:
return '<p class="text">html code</p>';结果ajax却得到:"<p class=\"text\">html code<\/p>"
真是这样的话,建议框架对return的数据加个判断。
我想知道,究竟是不是框架问题?
如果是,怎么避免转义?
如果不是,问题又在哪儿呢?
最佳答案