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 删除cookie和浏览器重定向
Mar 16 PHP
php中取得URL的根域名的代码
Mar 23 PHP
php简单操作mysql数据库的类
Apr 16 PHP
PHP中JSON的应用技巧
Oct 10 PHP
PHP中Http协议post请求参数
Nov 02 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
PHP面向对象自动加载机制原理与用法分析
Oct 14 PHP
PHP带节点操作的无限分类实现方法详解
Nov 09 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
Laravel 队列使用的实现
Jan 08 PHP
Smarty模板语法详解
Jul 20 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 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
剧场版动画《PSYCHO-PASS 3 FIRST INSPECTOR》3月27日日本上映!
2020/03/06 日漫
cache_lite试用
2007/02/14 PHP
详解PHP中的PDO类
2015/07/06 PHP
PHP微信开发之查询城市天气
2016/06/23 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
jQuery unbind()方法实例详解
2016/01/19 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
基于python的汉字转GBK码实现代码
2012/02/19 Python
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
Python http接口自动化测试框架实现方法示例
2018/12/06 Python
Python lambda表达式用法实例分析
2018/12/25 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
Django 解决distinct无法去除重复数据的问题
2020/05/20 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
工程师自我评价怎么写
2013/09/19 职场文书
工商管理毕业生推荐信
2013/12/24 职场文书
爱心捐助倡议书
2014/05/19 职场文书
房屋买卖协议样本
2014/11/16 职场文书
三十年同学聚会感言
2015/07/30 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书
MySQL复制问题的三个参数分析
2021/04/07 MySQL
《英雄联盟》2022日蚀、月蚀皮肤演示 黑潮亚索曝光
2022/04/13 其他游戏
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android
纯CSS打字动画的实现示例
2022/08/05 HTML / CSS