求教return返回转义问题

浏览:872 发布日期:2017/02/12 分类:ThinkPHP5专区 关键字: ajax pjax return response 转义
首先一个普通的控制器://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的数据加个判断。


我想知道,究竟是不是框架问题?
如果是,怎么避免转义?
如果不是,问题又在哪儿呢?
最佳答案
评论( 相关
后面还有条评论,点击查看>>