怎么在Laravel中利用AJAX动态刷新部分页面

发布时间:2021-02-17 13:12:43

来源:亿速云

阅读:119

作者:Leah

怎么在Laravel中利用AJAX动态刷新部分页面?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

首先在view中增加一个meta tag:

然后在我们的my-ajax-add-tea-consumption.js中,加上:$.ajaxSetup({

headers: {

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

}

});

这样就可以了。然后我们开始添加ajax函数(首先是增加模块):$('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被点击页面就会跳转。

post的url我们填的是laravel中的route(稍后在routes中我们还会叙述)

callback function中的数据html是由controller函数中使用某个view所返回的html代码

好了,那么现在我们的$.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函数来处理我们的ajax请求。那么我们一起来看一下这个函数到底有些什么内容:<?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中的函数并没有什么区别,因为我们需要返回的本来就是html代码,而调用view()的时候,Laravel已经帮我们生成好了。

这样一来,当ajax call成功返回时,$('.tea-consumption').append( html );就会将view生成的html代码插入我们指定的DOM中,从而动态刷新页面。

值得注意的是,如果你发现你的ajax call返回internal 500错误,那么首先请检查你的csrf是否已经设置好,如果确认没有问题,那么请检查你的view template文件,只要其中有错误,那么就无法返回html,从而造成错误。

要删除模块,其实是差不多的,但是要注意的是,我们的listener不能使用.click()来注入,因为当模块被删除后,.click()注入的listener就会失效,我们需要使用parent的.on()函数:('.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();

}

});

});

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

laravel ajax ip,怎么在Laravel中利用AJAX动态刷新部分页面相关推荐

  1. 北风网ajax,[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座.ppt...

    [T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座 Ajax简介 XMLHttpRequest对象 综合案例 1.HTTP请求 现在,很多浏览器都可以直接从JavaS ...

  2. android开发 转跳功能,如何在Android中利用Intent实现一个页面跳转功能

    如何在Android中利用Intent实现一个页面跳转功能 发布时间:2021-02-20 17:06:31 来源:亿速云 阅读:113 作者:Leah 本篇文章为大家展示了如何在Android中利用 ...

  3. 静态页中利用AJAX.NET实现无刷新页面

    一. 导言 我们知道,ASP.net应用程序事实是在服务器上运行的,用户的请求要不断地送往远程的服务器,服务器执行完本地的程序后把重新装载页面再发送客户端.所以就出现了不断刷新的问题,页面不断闪烁.用 ...

  4. c .net ajax,Asp.net mvc 2中使用Ajax的三种方式

    在Asp.net MVC中,我们能非常方便的使用Ajax.这篇文章将介绍三种Ajax使用的方式,分别为原始的Ajax调用.Jquery.Ajax Helper.分别采用这三种方式结合asp.net m ...

  5. php ajax向后台怎么传数组,利用ajax传递数组及后台接收的方法详解

    这篇文章主要给大家介绍了关于利用ajax传递数组及后台接收的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们一起来学习学习吧. 前言 我们在使用ajax异步的提交多选框得到需要 ...

  6. 利用ajax验证用户名,3.6.2 利用Ajax验证注册用户名(1)

    3.6.2  利用Ajax验证注册用户名(1) 由于注册的用户比较多,如果能在客户端还没提交注册表单之前验证用户名是否可用,如果不可用则禁止提交,这样将大大减少网络流量和服务器负载.本节将介绍如何利用 ...

  7. ajax 提交订单,php-在Woocommerce 3中通过ajax提交并在结帐时创建订单

    我在结帐表单中添加了一个按钮: 并在functions.php文件中添加了一个AJAX代码段: add_action('wp_head', 'ajax_call_place_order'); func ...

  8. php ajax 框架,PHP开发框架kohana中处理ajax请求的例子

    这篇文章主要介绍了PHP开发框架kohana中处理ajax请求的例子,kohana是一个PHP5开发框架,需要的朋友可以参考下 今天分享的是在kohana中处理页面的ajax请求.2步搞定.前提是你的 ...

  9. java中ajax是什么意思,java中使用Ajax技术

    ajax技术是使页面能局部刷新的一种技术,全称应该是asynchronous JavaScript and xml从几个单词就知道它的请求响应的处理是异步的,而且使用的是JavaScript和xml技 ...

最新文章

  1. 【SpringMVC】概述
  2. 每日英语:China's Youth to Employers: I Quit
  3. 学习SQL语句之SQL语句大全
  4. java clone方法_java安全编码指南之:方法编写指南
  5. 牛客练习赛 71 AC
  6. webstrom打开多个项目,webstrom常用快捷键
  7. RDD、DataFrame和DataSet
  8. 基于顺序存储结构的图书信息表的图书去重(C++)
  9. SpringBoot2.1.5 (5)---快速构建SpringBoot 项目的两种方式
  10. 2021年六月中旬推荐文章
  11. 低级问题---.net franmework安装
  12. jQuery File Upload blueimp with struts2 简单试用
  13. tomcat设置JAVA_OPTS
  14. Google浏览器调试页面时设置分辨率
  15. json例外被抛出并且未接住
  16. Python漫画下载器
  17. QT 调用windows socket
  18. 吉林大学计算机动画与游戏考研,吉林大学备考考研生存手册之自习室篇
  19. GME轧空事件的战后处置和思考
  20. 机器学习——pr图的画法

热门文章

  1. hadoop综述_Hadoop书籍赠品–综述
  2. Spring MVC的DispatcherServlet – Java开发人员应该知道的10件事
  3. jax-ws cxf_走向REST:将Tomcat嵌入Spring和JAX-RS(Apache CXF)
  4. Neo4j:绘制“我的名字是……我在工作”图
  5. 法线有接缝_发送带有接缝的活动邀请
  6. SSL与WildFly 8和Undertow
  7. 属性提取器:获取ListView即时更新其元素的最佳方法
  8. 4个万无一失的技巧让您开始使用JBoss BRMS 6.0.3
  9. Java 8 Friday Goodies:本地交易范围
  10. 使用CDI的InjectionPoint注入配置值