laravel 中如何使用ajax和vue总结


Posted in PHP onAugust 16, 2017

最近写一个项目是基于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="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实例代码:
methods:{
 show:function(course)
 {
  // debugger;
  window.location.href="/prices/detail/" rel="external nofollow" +course.course_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 相关文章推荐
一个oracle+PHP的查询的例子
Oct 09 PHP
不错的PHP学习之php4与php5之间会穿梭一点点感悟
May 03 PHP
Gregarius中文日期格式问题解决办法
Apr 22 PHP
php empty函数判断mysql表单是否为空
Apr 12 PHP
PHP中isset()和unset()函数的用法小结
Mar 11 PHP
CodeIgniter配置之routes.php用法实例分析
Jan 19 PHP
PHP Smarty模版简单使用方法
Mar 30 PHP
joomla组件开发入门教程
May 04 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
Jul 21 PHP
PHP token验证生成原理实例分析
Jun 05 PHP
apache集成php7.3.5的详细步骤
Jun 20 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
Apr 23 PHP
yii gridview实现时间段筛选功能
Aug 15 #PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
Aug 15 #PHP
Laravel学习教程之IOC容器的介绍与用例
Aug 15 #PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
Aug 15 #PHP
PHP高精确度运算BC函数库实例详解
Aug 15 #PHP
PHP+原生态ajax实现的省市联动功能详解
Aug 15 #PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 #PHP
You might like
php实现Session存储到Redis
2015/11/11 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
JQuery里面的几种选择器 查找满足条件的元素$(&quot;#控件ID&quot;)
2011/08/23 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
jQuery统计上传文件大小的方法
2015/01/24 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
详解JavaScript中getFullYear()方法的使用
2015/06/10 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
jQuery的框架介绍
2016/05/11 Javascript
JS实现购物车特效
2017/02/02 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
Linux CentOS系统下安装node.js与express的方法
2017/04/01 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
python处理multipart/form-data的请求方法
2018/12/26 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
python实现串口自动触发工作的示例
2019/07/02 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
html5实现移动端适配完美写法
2017/11/16 HTML / CSS
医院护士的求职信
2014/01/03 职场文书
应届生求职信
2014/05/31 职场文书
大学生创业事迹材料
2014/12/30 职场文书
廉洁自律证明
2015/06/24 职场文书
培根随笔读书笔记
2015/07/01 职场文书
三下乡活动心得体会
2016/01/23 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python