婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 在Laravel中實現(xiàn)使用AJAX動態(tài)刷新部分頁面

在Laravel中實現(xiàn)使用AJAX動態(tài)刷新部分頁面

熱門標簽:南寧crm外呼系統(tǒng)平臺 地圖標注入哪個科目 太原極信防封電銷卡 格陵蘭島地圖標注 天津營銷電話機器人加盟代理 電銷招聘機器人 事業(yè)單位如何百度地圖標注 熱線電話機器人 福泉電話機器人

AJAX相信大家都不陌生,有很多不同的Javascript Frameworks可以用來快速實現(xiàn)AJAX功能。那么今天我們一起來看一下如何在使用了PHP Frameworks的網(wǎng)站中使用AJAX來刷新頁面的一小部分。

這里我使用的是jQuery + Laravel(當然如果使用了其他框架,基本的概念也是不變的)。如圖,假設(shè)我們制作了一個頁面來管理客戶的茶葉消耗:

我們想制作一個模塊來動態(tài)為每一個新的茶葉消耗增加一個消耗選擇區(qū),即點擊新增消耗后,會動態(tài)增加一個新的茶葉消耗區(qū)域:

另外,當點擊刪除該消耗時,該消耗區(qū)域會動態(tài)刪除。

要實現(xiàn)這樣的功能,我們的基本思路如下(MVC Pattern):

使用AJAX POST call來調(diào)用Controller的函數(shù)

Controller返回我們所需的View中的HTML代碼片段

調(diào)用AJAX callback函數(shù)動態(tài)將HTML代碼片段插入到頁面中

那么首先我們先創(chuàng)建我們的js文件,在這里我新建了一個叫my-ajax-add-tea-consumption.js的文件,并放在了/public/js文件夾中。我們在view模板中使用script>/script>調(diào)用:

!DOCTYPE html>
html lang="en">
...
body>
...
 input type="hidden" name="order_id" value="{{ $order->id }}">
 div class="tea-consumption">
  div class="card" id="tea-card-{{ $tea_consumption->id }}>
   div class="card-header">
    span>茶葉消耗/span>
    button type="button">刪除該消耗/button>
    input type="hidden" value="{{ $tea_consumption->id }}">
   /div>
   div class="card-block">
    !-- 其他inputs -->
   /div>
  /div>
 /div>
 button type="button" name="btn-add">新增消耗/button>

 script src="/js/my-ajax-add-tea-consumption.js">/script>

/body>
/html>

由于 Laravel的Middleware會自動檢查CSRF,所以如果使用POST,DELETE等方法的時候我們需要全局設(shè)置一下AJAX的header,這樣在每次發(fā)送AJAX的時候,都會自動發(fā)送相應(yīng)的csrf token,只有Laravel檢查與相應(yīng)session中的token匹配后,才會調(diào)用相應(yīng)的Controller函數(shù)。所以在我們首先在view中增加一個meta tag:

meta name="csrf-token" content="{{ csrf_token() }}">

然后在我們的my-ajax-add-tea-consumption.js中,加上:

$.ajaxSetup({
 headers: {
  'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
 }
});

這樣就可以了。然后我們開始添加ajax函數(shù)(首先是增加模塊):

$('button[name="btn-add"]').click( function() {
 //route format: /orders/{id}/add-tea-consumption
 $.post('/orders/' + $('input[name="order_id"]').val()  + '/add-tea-consumption'), function( html ) {
  $('.tea-consumption').append( html );
 });
});

看起來很簡單吧,但是要注意的幾個地方有:

Button的type一定要寫為button,而缺省的話默認type=”submit”,這樣一旦button被點擊頁面就會跳轉(zhuǎn)。

post的url我們填的是laravel中的route(稍后在routes中我們還會敘述)

callback function中的數(shù)據(jù)html是由controller函數(shù)中使用某個view所返回的html代碼

好了,那么現(xiàn)在我們的$.post() call會后臺訪問/orders/{id}/add-tea-consumption這樣形式的路徑,所以我們在\routes\web.php中加上我們的路徑名和處理方式:

route::post('/orders/{id}/add-tea-consumption', 'RoomOrdersController@add_tea_consumption');

即我們希望由RoomOrdersController這個控制器中的add_tea_consumption函數(shù)來處理我們的ajax請求。那么我們一起來看一下這個函數(shù)到底有些什么內(nèi)容:

?php   //RoomOrdersController.php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\RoomOrder;
use App\RoomTeaConsumption;

class RoomOrdersController extends Controller
{
 ...

 /**
 * Return view fragments in html form
 *
 * @param $order_id
 * @return \Illuminate\Http\Response
 */
 public function add_tea_consumption ( $order_id ) {
  $consumption = RoomTeaConsumption::create([
   'room_order_id' => $order_id
   /* more fields omitted */
  ]);

  return view('partials.tea_consumption')->with([
   'tea_consumption' => $consumption
   /* more fields omitted */
  ]);
 }
}

其實跟平時我們controller中的函數(shù)并沒有什么區(qū)別,因為我們需要返回的本來就是html代碼,而調(diào)用view()的時候,Laravel已經(jīng)幫我們生成好了。

這樣一來,當ajax call成功返回時,$('.tea-consumption').append( html );就會將view生成的html代碼插入我們指定的DOM中,從而動態(tài)刷新頁面。

值得注意的是,如果你發(fā)現(xiàn)你的ajax call返回internal 500錯誤,那么首先請檢查你的csrf是否已經(jīng)設(shè)置好,如果確認沒有問題,那么請檢查你的view template文件,只要其中有錯誤,那么就無法返回html,從而造成錯誤。

要刪除模塊,其實是差不多的,但是要注意的是,我們的listener不能使用.click()來注入,因為當模塊被刪除后,.click()注入的listener就會失效,我們需要使用parent的.on()函數(shù):

('.tea-consumption').on('click', '#my-button', function() {
 $.ajax({
  method: 'DELETE',
  url: '/teas/consumption/' + $('this').next('input').val() + '/delete',
  success: function( id ) {
   var sel = $('#tea-card-' + id);
   sel.remove();
  }
 });
});

AJAX需要細心,因為錯誤比較難debug,所以在開發(fā)的時候一定要注意,出現(xiàn)問題了多查閱一下相關(guān)API。

以上這篇在Laravel中實現(xiàn)使用AJAX動態(tài)刷新部分頁面就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Laravel5.5 手動分頁和自定義分頁樣式的簡單實現(xiàn)
  • PHP框架Laravel插件Pagination實現(xiàn)自定義分頁
  • Laravel手動分頁實現(xiàn)方法詳解
  • Laravel+jQuery實現(xiàn)AJAX分頁效果
  • Laravel框架執(zhí)行原生SQL語句及使用paginate分頁的方法
  • laravel實現(xiàn)分頁樣式替換示例代碼(增加首、尾頁)
  • laravel自定義分頁效果
  • Laravel框架搜索分頁功能示例
  • laravel自定義分頁的實現(xiàn)案例offset()和limit()
  • Laravel實現(xiàn)搜索的時候分頁并攜帶參數(shù)
  • Laravel實現(xiàn)ORM帶條件搜索分頁
  • Laravel5.1 框架分頁展示實現(xiàn)方法實例分析

標簽:佳木斯 通化 金華 郴州 阿克蘇 自貢 香港 寶雞

巨人網(wǎng)絡(luò)通訊聲明:本文標題《在Laravel中實現(xiàn)使用AJAX動態(tài)刷新部分頁面》,本文關(guān)鍵詞  在,Laravel,中,實現(xiàn),使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Laravel中實現(xiàn)使用AJAX動態(tài)刷新部分頁面》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Laravel中實現(xiàn)使用AJAX動態(tài)刷新部分頁面的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    美女视频一区在线观看| 亚洲国产高清在线| 另类小说综合欧美亚洲| 午夜精品久久久久久不卡8050| 一区二区欧美视频| 中文字幕中文字幕一区| 1024成人网色www| 亚洲视频一区二区在线观看| 亚洲三级久久久| 亚洲精品综合在线| 视频一区二区三区中文字幕| 香蕉久久夜色精品国产使用方法| 亚洲bt欧美bt精品| 免费亚洲电影在线| 精品一区中文字幕| 色悠悠久久综合| 欧美日韩国产综合久久| 国产日本亚洲高清| 亚洲黄色在线视频| 国产宾馆实践打屁股91| 在线电影院国产精品| 国产精品日产欧美久久久久| 午夜精品福利视频网站| 国产在线视频一区二区| 欧美综合欧美视频| 亚洲免费视频成人| 国产精品亚洲а∨天堂免在线| 欧美一a一片一级一片| 久久久久久久久97黄色工厂| 亚洲综合一区二区| 91影视在线播放| 国产精品伦理一区二区| 精品中文字幕一区二区| 欧美熟乱第一页| 国产精品传媒入口麻豆| 国产成人精品午夜视频免费| 日韩一区二区三区电影在线观看 | 色综合久久综合中文综合网| 久久久久久久久久久久久夜| 一区二区三区美女| 成人app网站| 亚洲美女区一区| 色94色欧美sute亚洲13| 有码一区二区三区| 69久久99精品久久久久婷婷| 三级一区在线视频先锋| 久久婷婷一区二区三区| 成人国产在线观看| 国产视频一区在线观看 | 国产亚洲精品aa| 国产女人水真多18毛片18精品视频| 欧美一区二区三区四区在线观看| 成人免费va视频| 欧美无砖专区一中文字| 色噜噜夜夜夜综合网| 色哟哟亚洲精品| 欧美a级理论片| 国产精品1区2区3区| 久久99九九99精品| 极品少妇一区二区三区精品视频| 亚洲成人综合视频| 国产精品色哟哟网站| 成人动漫精品一区二区| 成人动漫视频在线| 国产亚洲综合在线| 精一区二区三区| 555www色欧美视频| 亚洲人成精品久久久久久| 精品三级在线观看| 尤物在线观看一区| 蜜桃精品视频在线| 久久国产精品99久久久久久老狼| 精品一二线国产| 一区二区三区在线免费| 亚洲电影你懂得| 免费av网站大全久久| 一本大道久久a久久精品综合| caoporn国产精品| 久久久亚洲高清| 国产精品影音先锋| 久久久久久97三级| 26uuu亚洲综合色| 欧美mv和日韩mv的网站| 午夜精品123| 成人国产精品免费观看动漫| 欧美日韩性生活| 亚洲大片在线观看| 国产精品视频麻豆| 国产福利精品导航| 欧美亚洲一区三区| 欧美色老头old∨ideo| 日本成人在线看| 自拍av一区二区三区| 一本久久精品一区二区| 亚洲高清免费观看高清完整版在线观看 | 久久久久久一二三区| 欧美xxxx老人做受| 中文字幕一区在线| 国模娜娜一区二区三区| 国产成人啪免费观看软件| 久久国产精品99久久人人澡| 成人av免费网站| 一本高清dvd不卡在线观看| 91激情五月电影| 亚洲欧美怡红院| 婷婷夜色潮精品综合在线| 亚洲一二三四久久| 日本一区二区电影| 国产精品99久久久久| 国产精品久久一卡二卡| jvid福利写真一区二区三区| 亚洲人成7777| 日韩一区二区高清| www.成人网.com| 6080午夜不卡| 日日夜夜免费精品| 欧美日韩精品三区| 亚洲丝袜精品丝袜在线| 丁香啪啪综合成人亚洲小说 | 精品久久人人做人人爽| 亚洲精品福利视频网站| av一本久道久久综合久久鬼色| 69久久99精品久久久久婷婷| 亚洲欧美视频在线观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美mv日韩mv国产| 国产精品一区二区久激情瑜伽| 日韩欧美综合一区| 精品一二三四区| 2020国产精品久久精品美国| 免费一区二区视频| 精品国产伦一区二区三区观看体验| 日本视频中文字幕一区二区三区| 91精品国产欧美一区二区18| 美女脱光内衣内裤视频久久影院| 日韩一级免费一区| 成人免费视频caoporn| 亚洲少妇最新在线视频| 99riav一区二区三区| 亚洲同性gay激情无套| 欧洲人成人精品| 日本视频在线一区| 中文字幕一区二区不卡| 欧美丰满少妇xxxbbb| 美女看a上一区| 久久久欧美精品sm网站| 欧美日韩国产在线播放网站| 国产一区二区三区在线观看免费| 久久九九99视频| 91精品国产综合久久久蜜臀图片| 男人操女人的视频在线观看欧美| 日韩欧美久久一区| 成人性生交大片免费看中文| 亚洲精品一二三| 亚洲三级电影网站| www成人在线观看| 日韩精品一区二区三区在线播放| 国产99一区视频免费| 国产呦精品一区二区三区网站| 人人狠狠综合久久亚洲| 国产精品美女久久久久久久网站| 欧美r级在线观看| 欧美日韩综合一区| 成人午夜激情视频| 国产在线播放一区| 成人动漫一区二区三区| 国产露脸91国语对白| 国产美女一区二区三区| 麻豆国产91在线播放| 亚洲444eee在线观看| 三级久久三级久久久| 玖玖九九国产精品| 精品一区精品二区高清| 国产一级精品在线| 一本大道久久a久久综合| 日本久久一区二区三区| 欧美剧情片在线观看| 欧美久久久久久久久| 色一情一乱一乱一91av| 欧美裸体bbwbbwbbw| 2023国产一二三区日本精品2022| 精品国产成人系列| 国产精品美日韩| 午夜日韩在线电影| 国产成人免费视频一区| 91一区二区在线| 久久夜色精品国产欧美乱极品| 国产拍欧美日韩视频二区| 亚洲一区二区av在线| 成人精品鲁一区一区二区| 欧美亚洲综合网| 亚洲欧洲在线观看av| 国产呦萝稀缺另类资源| 欧美日韩一区不卡| 亚洲天堂精品在线观看| 国产在线视频一区二区三区| 欧美男同性恋视频网站| 一区二区三区在线不卡| 色香色香欲天天天影视综合网| 欧美精品一区二区在线观看|