laravel 中如何使用ajax和vue总结
2018-09-07 11:53
最近写一个项目是基于laravel框架的,这个框架传言是为艺术而创作的优雅框架,简洁分明的风格,很吸引我,所以最近研究比较多。本次就是基于该框架然后将Vue插件加入实现一定的功能,vue插件本身强大,具体不说了,有兴趣的同学可以去官网。laravel 本身php页面是用blade引擎,渲染数据格式:
{{msg}}
但是熟悉Vue渲染的同学知道Vue的格式是:
<div id=app> {{ message }} </div>
这样就引起了冲突,因此,可以是
@{{msg}}
使用@跳出blade引擎模式。
以下代码摘自是laravel-china@leo作者
以下是本人自己写的代码:
<li class=wrap v-for=(course,index) in courses.data> <div class=img> <a v-on:click=show(course)> <img v-bind:src=course.thumblink width=236 height=124> </a> </div> <div class=coursetitle> @{{course.name}} </div> <div class=lecturer> 讲师:@{{course.teachername}} 学期:@{{course.semester}} </div> <div class=price> @{{course.price}}元 </div> <div class=pull-left> <button type=button class=btn btn-success btn-xs v-on:click=show(course)>详情</button> </div>
有时候我们可能向带有链接的地方插入Vue数据值作为参数,但是熟悉Vue的同学知道Vue是mustache 语法不能作用在 HTML 特性上,遇到这种情况应该使用v-bind 指令:
另外一种思路是使用v-on:click。
<a v-on:click=show(course)> Vue实例代码:rse_id; // console.log(result); }, }
又例如下面的代码:
<img v-bind:src=course.thumblink width=236 height=124>
就是使用v-bind实现数据的绑定。
最重要的是我吃了很长的时间的惯性思维的亏,认为使用ajax发送请求都是同样的模板。
但是在laravel中必须考虑CSRF-TOKEN。
如下的代码:
function init_courses() { // debugger; $.ajax({ type:post, url:/selectCourse, dataType: json, data:{result:resul=全部,全部,全部}, headers: { X-CSRF-TOKEN: $(meta[name=_token]).attr(content) }, success:function(data) { mydata.courses=eval(data.result); console.log(mydata.courses); }, error: function(xhr, type){ alert(Ajax error!) } }); };
如果你的页面没有看到一个CSRF,可以在页面头部加入
<meta name=_token content={{ csrf_token() }}/>
这样就可以请求成功。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
上一篇:搜索附近的人PHP实现代码
下一篇:最简单的PHP程序--记数器
文章标题:laravel 中如何使用ajax和vue总结
文章链接:http://soscw.com/index.php/essay/11321.html