laravel 中如何使用ajax和vue總結
最近寫一個項目是基于laravel框架的,這個框架傳言是為藝術而創(chuàng)作的優(yōu)雅框架,簡潔分明的風格,很吸引我,所以最近研究比較多。本次就是基于該框架然后將Vue插件加入實現(xiàn)一定的功能,vue插件本身強大,具體不說了,有興趣的同學可以去官網(wǎng)https://cn.vuejs.org/。laravel 本身php頁面是用blade引擎,渲染數(shù)據(jù)格式:
{{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數(shù)據(jù)值作為參數(shù),但是熟悉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實現(xiàn)數(shù)據(jù)的綁定。
最重要的是我吃了很長的時間的慣性思維的虧,認為使用ajax發(fā)送請求都是同樣的模板。
但是在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 DOMElement 操作xml 文檔的實現(xiàn)代碼
本篇文章是對在php中DOMElement 操作xml 文檔的實現(xiàn)進行了分析介紹。需要的朋友參考下2013-05-05CentOS 7.2 下編譯安裝PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法詳解(mini版
這篇文章主要介紹了CentOS 7.2 mini版本下編譯安裝PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09laravel實現(xiàn)分頁樣式替換示例代碼(增加首、尾頁)
這篇文章主要給大家介紹了關于laravel實現(xiàn)分頁樣式替換的相關資料,實現(xiàn)了增加首、尾頁的功能,文章通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-09-09php獲取數(shù)據(jù)庫中數(shù)據(jù)的實現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp獲取數(shù)據(jù)庫中數(shù)據(jù)的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06PHP實現(xiàn)Session入庫/存入redis的方法
本篇文章主要介紹了PHP實現(xiàn)Session入庫/存入redis的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05