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 相关文章推荐
PHP+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
Jun 12 PHP
在PHP中使用FastCGI解析漏洞及修复方案
Nov 10 PHP
PHP针对字符串开头和结尾的判断方法
Jul 11 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
php-fpm添加service服务的例子
Apr 27 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
laravel7学习之无限级分类的最新实现方法
Sep 30 PHP
PHP 实现重载
Mar 09 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连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
extjs form textfield的隐藏方法
2008/12/29 Javascript
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
2013/12/25 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
原生js封装添加class,删除class的实例
2017/11/06 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
vue.js 获取select中的value实例
2018/03/01 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
javascript数组元素删除方法delete和splice解析
2019/12/09 Javascript
VUE中使用HTTP库Axios方法详解
2020/02/05 Javascript
JSONP 的原理、理解 与 实例分析
2020/05/16 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
python和ruby,我选谁?
2017/09/13 Python
numpy数组广播的机制
2019/07/12 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
python读写csv文件的方法
2019/08/13 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
读后感作文评语
2014/12/25 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
员工离职证明范本
2015/06/12 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript