laravel 中如何使用ajax和vue总结
(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )
最近写一个项目是基于laravel框架的,这个框架传言是为艺术而创作的优雅框架,简洁分明的风格,很吸引我,所以最近研究比较多。本次就是基于该框架然后将Vue插件加入实现一定的功能,vue插件本身强大,具体不说了,有兴趣的同学可以去官网https://cn.vuejs.org/。laravel 本身php页面是用blade引擎,渲染数据格式:
{{msg}}
但是熟悉Vue渲染的同学知道Vue的格式是:
<div id="app"> {{ message }} </div>
这样就引起了冲突,因此,可以是
@{{msg}}
使用@跳出blade引擎模式。
以下代码摘自是laravel-china@leo作者
<tr v-for="item in services"> <td>@{{ item.id }}</td> <td>@{{ item.name }}</td> <td>@{{{ displayHosts(item.hosts) }}}</td> <td>@{{{ bool2icon(item.enabled) }}}</td> <td>@{{{ bool2icon(item.allow_proxy) }}}</td> <td>@{{ item.created_at }}</td> <td> <a href="javascript:void(0)" rel="external nofollow" @click="edit(item)">{{ trans('admin.edit') }}</a> </td> </tr>
以下是本人自己写的代码:
<li class="wrap" v-for="(course,index) in courses.data"> <div class="img"> <a v-on:click="show(course)"> <img v-bind:src="/UploadFiles/2021-04-02/course.thumblink">有时候我们可能向带有链接的地方插入Vue数据值作为参数,但是熟悉Vue的同学知道Vue是mustache 语法不能作用在 HTML 特性上,遇到这种情况应该使用 v-bind 指令:
另外一种思路是使用v-on:click。
<a v-on:click="show(course)"> Vue实例代码: methods:{ show:function(course) { // debugger; window.location.href="/prices/detail/" rel="external nofollow" +course.course_id; // console.log(result); }, }又例如下面的代码:
<img v-bind:src="/UploadFiles/2021-04-02/course.thumblink">就是使用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() }}"/>这样就可以请求成功。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇:yii gridview实现时间段筛选功能
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。