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学习资料汇总与网址
Mar 16 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
php中通过虚代理实现延迟加载的实现代码
Jun 10 PHP
php开启安全模式后禁用的函数集合
Jun 26 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
浅谈PHP解析URL函数parse_url和parse_str
Nov 11 PHP
使用php转义输出HTML到JavaScript
Mar 27 PHP
phalcon框架使用指南
Feb 23 PHP
smarty的section嵌套循环用法示例
May 28 PHP
PHP设计模式之注册树模式分析
Jan 26 PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 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
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
js不是基础的基础
2006/12/24 Javascript
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
2010/03/09 Javascript
JavaScript中获取元素索引的函数
2010/09/10 Javascript
js实现图片轮换效果代码
2013/04/16 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
Node.js开源应用框架HapiJS介绍
2015/01/14 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
Centos7 中 Node.js安装简单方法
2016/11/02 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
js判断节假日实例代码
2017/12/27 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
2020/03/17 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
Python2和Python3.6环境解决共存问题
2018/11/09 Python
使用PIL(Python-Imaging)反转图像的颜色方法
2019/01/24 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
mac使用python识别图形验证码功能
2020/01/10 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
自我鉴定范文200字
2013/10/02 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
安全施工责任书
2014/08/25 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
民事诉讼答辩状范文
2015/05/21 职场文书
python 网络编程要点总结
2021/06/18 Python