Laravel Ajax的使用

摘要:
在视图文件中导入jQuery库使用ajax从服务器发送和接收数据。Json()函数语法Json示例:步骤1-创建一个名为resources/views/message的新PHP视图文件,并将以下代码复制到此文件LaravelAjax示例函数getMessage(){$.ajax({type:'post',url:'/getmsg',data:'_token=',成功:函数{$.html;}});}此消息将被Ajax替换。单击下面的按钮替换此消息步骤2:创建一个名为AjaxController的控制器,并将以下代码复制到文件-app/Http/Controllers/AjaxController php:json;}}步骤3:配置路由:路由::post;注意:laravelajax调用需要将参数名传递给服务器:_Token,参数值传递csrf_Token()获得的参数。

Ajax (异步的 JavaScript 和 XML)是一套运用在客户端用来创建异步Web应用程序的Web开发技术。 

在视图文件导入 jQuery 库使用 ajax来发送并从服务器接收数据。 

在服务器端,您可以使用 response() 函数发送响应客户端,以及发送JSON格式的响应可以使用 JSON()函数来接收响应的数据。

json()函数语法

json(string|array $data = array(), int $status = 200, array $headers = array(), int $options)


示例:
第1步 - 创建一个名为 resources/views/message.php 的视图文件,并复制下面的代码到此文件中
<html>
   <head>
      <title>Laravel Ajax示例</title>
      
      <script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
      
      <script>
         function getMessage(){
            $.ajax({
               type:'post',
               url:'/getmsg',
               data:'_token = <?php echo csrf_token() ?>',   
               success:function(data){
                  $("#msg").html(data.msg);
               }
            });
         }
      </script>
   </head>
   
   <body>
      <div id = 'msg'>这条消息将会使用Ajax来替换.
         点击下面的按钮来替换此消息.</div>
      <button value="getMessage" onclick="getMessage()"> 
</body> </html>

  第2步:创建一个名为 AjaxController 的控制器,复制下面的代码到文件 - app/Http/Controllers/AjaxController.php:

   <?php

namespace AppHttpControllers;
use IlluminateHttpRequest;
use AppHttpRequests;
use AppHttpControllersController;

class AjaxController extends Controller {
   public function index(){
      $msg = "这是一条简单的消息.";
      return response()->json(array('msg'=> $msg), 200);
   }
}

第3步:配置路由:
Route::post('/getmsg','AjaxController@index');

  注意:laravel ajax调用需要向服务器端传递 参数名为:_token,参数值通过 csrf_token() 获取的参数。 

ajax 脚本编写的三种 方式:

方式1:

       

function getMessage(){
            $.ajax({
               type:'post',
               url:'/getmsg',
               data:'_token = <?php echo csrf_token() ?>',   
               success:function(data){
                  $("#msg").html(data.msg);
               }
            });
         }

方式2:
$.post('/getmsg',{'_token':'{{csrf_token()}}','email':$("#email").val()},function(data) //第二个参数要传token的值 再传参数要用逗号隔开 
{

$("#msg").html(data.msg);
  } 
);

方式3:
$(document).ready(function () {
    url = '/task/';
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('#task input[name="_token"]').val()
        }
    });
把token值放在一个隐藏input中, 在具体的方法中,不再需要传递_token参数。

 

免责声明:文章转载自《Laravel Ajax的使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇资产管理平台去除zabbix字样VMware 下虚拟机桥接模式在局域网中访问互通,并实现VM IP固定下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ExtJS 4.2 教程-06:服务器代理(proxy)

在上一节我们介绍了客户端的几种代理,本节的主要内容是介绍如何使用服务器端代理,将重点介绍AjaxProxy,这是我们最常用的代理方式。 Ajax web应用程序开发过程中,与服务器端交互的技术最常用的就是Ajax了。Ajax 是使用Javascript创建一个HttpRequest,采用异步的方式从服务器获取数据。我们先看一个简单的示例: Ext.onR...

vue图表组件使用,组件文档echarts

vue图表组件使用,组件文档echarts http://echarts.baidu.com/echarts2/doc/example.html vue组件手动封装barChart.vue <template> <div :class="className" :id="id" :style="{height:height,wi...

jQuery实现仿Excel表格编辑功能 Handsontable

前言: Handsontable是一个相当给力的 jQuery插件,它实现了 HTML 页面中的表格编辑功能,并且是仿 Excel 的编辑效果。 在 Excel 中可进行的操作,你几乎都可以在网页中做到,如拖动复制、Ctrl+C 、Ctrl+V 等等。 另外在浏览器支持方面,它支持以下的浏览器 IE7+, FF, Chrome, Safari, Opera...

socket.io建立长连接

   socket.io是基于node.js,在命令行里输入npm socket.io下载模块,用node.js搭建后台 示例代码,客户端 1 <!DOCTYPE html> 2 <html lang="zh-CN"> 3 <head> 4 <meta charset="UTF-8"> 5...

asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法

参考: Preventing Cross-Site Request Forgery (CSRF) AttacksValidating .NET MVC 4 anti forgery tokens in ajax requests 在mvc中,微软提供了一个简单的方法来防止CSRF,就是在前端form表单里加上Anti-Forgery Tokens <...

Asp.Net Core中JWT刷新Token解决方案【转】

一. 前言 1.关于JWT的Token过期问题,到底设置多久过期? (1).有的人设置过期时间很长,比如一个月,甚至更长,等到过期了退回登录页面,重新登录重新获取token,期间登录的时候也是重新获取token,然后过期时间又重置为了1个月。这样一旦token被人截取,就可能被人长期使用,如果你想禁止,只能修改token颁发的密钥,这样就会导致所有toke...