laravel 中使用ajax和vue总结
最近写一个项目是基于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)" @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/"+course.course_id;
// console.log(result);
},
}
又例如下面的代码:
<img v-bind:src="course.thumblink" width="236" height="124">
就是使用v-bind实现数据的绑定。
最重要的是我吃了很长的时间的惯性思维的亏,认为使用ajax发送请求都是同样的模板。
但是在laravel中必须考虑CSRF-TOKEN,感兴趣的同学可以去laravel学院看看详细解释,http://laravelacademy.org。
如下的代码:
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() }}"/>
这样就可以请求成功。
感谢大家指正!!
祝生活愉快
laravel 中使用ajax和vue总结的更多相关文章
- Laravel中的ajax跨域请求
最近接触Laravel框架ajax跨域请求的过程中遇到一些问题,在这里做下总结. 一开始发起ajax请求一直报500错误,搜索相关资料后发现Laravel要允许跨域请求可以加入Cors中间件,代码如下 ...
- Laravel 项目中编写第一个 Vue 组件
和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...
- laravel中的验证及利用uploadify上传图片
$rules = [ 'password'=>'required|between:6,20|confirmed', ]; $message = [ 'password.required'=> ...
- vue中的ajax - axios
vue中的ajax - axios axios - 简书 使用 axios 实现 ajax 方案 VUE 更好的 ajax 上传处理 axios.js vue.js 自2.0版本已经不对 vue-re ...
- laravel中form表单,ajax传值没反应
laravel中form表单,ajax传值没反应时,可能是令牌有问题. form中添加: {{csrf_token()}} ajax中添加: data: {'page': page, '_token' ...
- vue - Vue中的ajax
只有在ajax才能找回一点点主场了,vue中的ajax一天整完,内容还行,主要是对axios的运用. 明天按理说要开始vuex了,这个从来都是只耳闻没有眼见过,明天来看看看看是个什么神奇的东西. 一. ...
- Laravel 中使用 swoole 项目实战开发案例二 (后端主动分场景给界面推送消息)
推荐阅读:Laravel 中使用 swoole 项目实战开发案例一 (建立 swoole 和前端通信) 需求分析 我们假设有一个需求,我在后端点击按钮 1,首页弹出 “后端触发了按钮 1”.后端点了 ...
- Laravel中的日志与上传
PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...
- Jquery中的Ajax
AJAX: * jQuery中的Ajax * 封装第一层 - 类似于原生Ajax的用法 * $.ajax() - 最复杂 * 选项 * url - 请求地址 * type - 请求类型,默认为GET ...
随机推荐
- 文档模型(JSON)使用介绍
一.背景 E.F.Codd在1970年首次提出了数据库系统的关系模型,从此开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础,数据库技术也开始蓬勃发展.而随着几大数据库厂商陆续发布的 ...
- pdf文件之itextpdf操作实例
需求分析 1.需要创建一个pdf文件,包含文件的基本属性 2.文件需要包含附件,通过点击链接直接打开 3.生成的pdf文件不能直接修改(需要输入密码) 4.pdf文件需要有文字或图片水印 准备jar包 ...
- Unity应用架构设计(13)——日志组件的实施
对于应用程序而言,日志是非常重要的功能,通过日志,我们可以跟踪应用程序的数据状态,记录Crash的日志可以帮助我们分析应用程序崩溃的原因,我们甚至可以通过日志来进行性能的监控.总之,日志的好处很多,特 ...
- maven编译常见错误解决方法整理
程序包com.sun.xml.internal.ws.spi不存在 当maven项目里面有用到JDK内部的一些类,接口(如:com.sun.xml.internal.ws.spi.ProviderIm ...
- Linux 重启和关机命令
shutdown -r 05:30 在凌晨五点30分关机 shutdown -r 05:30 & 后台执行 shutdown -c 取消前一个关机命令 ...
- H3CNE实验:配置交换机接口
第1步:配置交换机端口 <H3C>system-view System View: return to User View with Ctrl+Z. [H3C]interface Giga ...
- Echarts展示百分比的问题
22.echarts 想要自定义tooltip 的百分比的时候,可以在formatter中console.log(params); 当鼠标移动到y轴的时候会触发输出;
- Docker快速入门
Docker已经火了很长一段时间,最近打算在阿里云上好好熟悉一下Docker的相关应用,为今后的工作做准备. 基本概念 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是do ...
- JavaWeb 后端 <五> 之 JSP 学习笔记
一.JSP简介 1.也是SUN公司推出的开发动态web资源的技术,属于JavaEE技术之一.由于原理上是Servlet, 所以JSP/Servlet在一起. 二.HTML.Servlet和JSP 1. ...
- 微信小程序的登陆流程详解
由于小程序的登陆和登陆状态维护流程比较复杂,需要客户端和服务器的数次交互以及服务器端的相应处理,很多同学都觉得比较麻烦,所以特别写下这篇博客为大家梳理一下微信的登陆流程,同时加深对微信小程序与登陆状态 ...