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 相关文章推荐
IIS+PHP+MySQL+Zend配置 (视频教程)
Dec 13 PHP
php文章内容分页并生成相应的htm静态页面代码
Jun 07 PHP
php获取参数的几种方法总结
Feb 18 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php操作mongoDB实例分析
Dec 29 PHP
php实现过滤UBB代码的类
Mar 12 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
php判断对象是派生自哪个类的方法
Jun 20 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
浅谈mysql_query()函数的返回值问题
Sep 05 PHP
php经典趣味算法实例代码
Jan 21 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合并数组+与array_merge的区别分析
2010/08/01 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
PHP fclose函数用法总结
2019/02/15 PHP
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
使用javascript将时间转换成今天,昨天,前天等格式
2015/06/25 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
javascript学习之json入门
2016/12/22 Javascript
Bootstrap栅格系统使用方法及页面调整变形的解决方法
2017/03/10 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
JavaScript 处理树数据结构的方法示例
2019/06/16 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
解决vue自定义全局消息框组件问题
2019/11/22 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
Django框架使用mysql视图操作示例
2019/05/15 Python
python使用pandas处理excel文件转为csv文件的方法示例
2019/07/18 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
超级实用的8个Python列表技巧
2020/08/24 Python
Python实例教程之检索输出月份日历表
2020/12/16 Python
HTML5 标准将把互联网视频扔回到黑暗时代
2010/02/10 HTML / CSS
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
澳大利亚香水在线商店:City Perfume
2020/09/02 全球购物
TCP协议通讯的过程和步骤是什么
2015/10/18 面试题
社会实践心得体会
2014/01/03 职场文书
一帮一活动总结
2014/05/08 职场文书
工程质检员岗位职责
2015/04/08 职场文书
机器人总动员观后感
2015/06/09 职场文书
2019年大学推荐信
2019/06/24 职场文书
Java使用jmeter进行压力测试
2021/07/09 Java/Android