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下intval()和(int)转换使用与区别
Jul 18 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
php字符串函数学习之strstr()
Mar 27 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
Dec 17 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
Yii2实现中国省市区三级联动实例
Feb 08 PHP
Laravel5中Cookie的使用详解
May 03 PHP
Linux下 php7安装redis的方法
Nov 01 PHP
php源码的使用方法讲解
Sep 26 PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
javascript创建数组之联合数组的使用方法示例
2013/12/26 Javascript
Jquery自定义button按钮的几种方法
2014/06/11 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
Vue开发过程中遇到的疑惑知识点总结
2017/01/20 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
JS实现网站楼层导航效果代码实例
2020/06/16 Javascript
python中返回矩阵的行列方法
2018/04/04 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
Python3基于plotly模块保存图片表格
2020/08/03 Python
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
怎样创建、运行java程序
2014/08/01 面试题
教师求职信范文分享
2013/12/27 职场文书
物流毕业生个人的自我评价
2014/02/13 职场文书
会计专业求职信范文
2014/03/16 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
延安红色之旅心得体会
2014/10/07 职场文书
2014年采购部工作总结
2014/11/20 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
员工旷工检讨书
2015/08/15 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL