巧用框架渲染方法render,display(替换大段js)
2017-10-16| 程成| 2204| 0| Yii

在开发的时候,你肯定写过像下面这些ajax代码


image.png


这里用js组装了页面,并且通过html()渲染到页面上去。


但是有个问题,如果这里的页面如果原来就嵌入了php代码,或者后期要修改这里页面的内容。这样就需要修改js文件和原来的html文件了。


【解决】

这里可以不用写这么长的js,尤其是单引号双引号问题等等。就是巧妙运用框架渲染方法,比如tp里的display方法,yii2中的render方法。


大致原理是:框架的渲染方法,其实是结合了php和html文件的一大段渲染好的html代码。只需要把这段html代码返回ajax,然后再调用js方法中的html()。这样简化了js,不用写长篇的js了。




步骤如下(这里是yii2中的render方法):


1、新建一个html页面,把需要重写的html都复制进去


2、ajax端写成如下这样


这里,我的静态页面叫body.html。

$data = $this->render('/body', [
    "param1" => $param1,
    'param2' => $param2,
]);


3、ajax返回这个$data,然后前台调用html()方法。


$("#id").html('').html(data);



这样就避免了大段js写法,巧妙运用框架渲染页面方法。

注:以后js都可以不用写了,全都用这种局部渲染就可以了。。




×
作者:程成
QQ:492245711