全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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)" 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() }}"/>

这样就可以请求成功。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# laravel  # vue  # ajax  # 使用vue  # 使用ajax  # Laravel接收前端ajax传来的数据的实例代码  # Laravel+jQuery实现AJAX分页效果  # 利用laravel+ajax实现文件上传功能方法示例  # Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作  # Laravel框架基于ajax和layer.js实现无刷新删除功能示例  # Laravel框架基于ajax实现二级联动功能示例  # 都是  # 吃了  # 有兴趣  # 这种情况  # 很长  # 比较多  # 最重要的是  # 用在  # 绑定  # 官网  # 大家多多  # 就可以  # 数据格式  # 但是在  # 是基于  # 不说了  # td  # hosts  # services  # created_at 


相关文章: 开源网站制作软件,开源网站什么意思?  如何获取免费开源的自助建站系统源码?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  建站之星如何优化SEO以实现高效排名?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  广州顶尖建站服务:企业官网建设与SEO优化一体化方案  如何在新浪SAE免费搭建个人博客?  jQuery 常见小例汇总  如何使用Golang table-driven基准测试_多组数据测量函数效率  如何高效生成建站之星成品网站源码?  如何续费美橙建站之星域名及服务?  历史网站制作软件,华为如何找回被删除的网站?  建站主机系统SEO优化与智能配置核心关键词操作指南  广州美橙建站如何快速搭建多端合一网站?  Android自定义listview布局实现上拉加载下拉刷新功能  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  音响网站制作视频教程,隆霸音响官方网站?  如何在云主机上快速搭建多站点网站?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  代购小票制作网站有哪些,购物小票的简要说明?  建站主机SSH密钥生成步骤及常见问题解答?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何自定义建站之星模板颜色并下载新样式?  如何选择高效稳定的ISP建站解决方案?  建站之星Pro快速搭建教程:模板选择与功能配置指南  如何快速搭建高效服务器建站系统?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  如何用西部建站助手快速创建专业网站?  建站之星安装模板失败:服务器环境不兼容?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  建站之星如何开启自定义404页面避免用户流失?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  建站之星图片链接生成指南:自助建站与智能设计教程  大连网站设计制作招聘信息,大连投诉网站有哪些?  C#如何使用XPathNavigator高效查询XML  如何快速建站并高效导出源代码?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  如何制作一个表白网站视频,关于勇敢表白的小标题?  建站之星上传入口如何快速找到?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  香港服务器租用每月最低只需15元?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  制作企业网站建设方案,怎样建设一个公司网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。