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中实现图片的锐化
Oct 09 PHP
php缓存技术介绍
Nov 25 PHP
PHP时间戳使用实例代码
Jun 07 PHP
PHP 登录记住密码实现思路
May 07 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
Jun 20 PHP
6个超实用的PHP代码片段
Aug 10 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
PHP实现的服务器一致性hash分布算法示例
Aug 09 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
Apr 11 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
在DC的漫画和电影中,蝙蝠侠的宿敌,小丑的真名是什么?
2020/04/09 欧美动漫
php 方便水印和缩略图的图形类
2009/05/21 PHP
PHP 学习路线与时间表
2010/02/21 PHP
完美实现GIF动画缩略图的php代码
2011/01/02 PHP
php 指定范围内多个随机数代码实例
2016/07/18 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
图片自动缩小 点击放大
2008/07/07 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
jQuery聚合函数实例
2015/05/21 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
JavaScript实现斗地主游戏的思路
2016/02/29 Javascript
微信小程序 HTTPS报错整理常见问题及解决方案
2016/12/14 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
Python 爬虫学习笔记之多线程爬虫
2016/09/21 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
pytorch打印网络结构的实例
2019/08/19 Python
python文件编写好后如何实践
2020/07/07 Python
python实现画图工具
2020/08/27 Python
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
优秀毕业生自我鉴定
2014/01/19 职场文书
酒店管理求职信范文
2014/04/06 职场文书
学习党的群众路线对照检查材料
2014/09/29 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
关于vue-router-link选择样式设置
2022/04/30 Vue.js
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python