通过 AJAX 将数据传递给 Laravel 控制器

Posted

技术标签:

【中文标题】通过 AJAX 将数据传递给 Laravel 控制器【英文标题】:Pass Data to Laravel Controller through AJAX 【发布时间】:2019-07-16 13:50:15 【问题描述】:

我正在尝试从选择行数据表中读取数据并通过 AJAX 将数据发布到我的 Laravel 控制器。但这里出了点问题。当我死并转储请求所有“dd(request()->all());”在我的控制器中,我只获得令牌值并且数据为空。我不知道我做错了什么。我是 jquery 新手,请帮忙。

function AJAXCallCancelSimsByAPN(data) 
  var url = "/tools/sim/cancel";
  var type = "POST";

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

  console.log(data);

  jQuery.ajax(
    url: url,
    type: type,
    data: 
      "_token": $('meta[name="csrf-token"').attr('content'),
      "data": data
    ,
    beforeSend: function () ,
    success: function (data) 
      try 
        //console.log(data);        

       catch (err) 
        alert("Error running JS code from module: AJAXCallCancelSimsByAPN");
      
    ,
    error: function (url, jqXHR, textStatus, errorThrown) 
      alert("url: " + url + " error: " + jqXHR.responseText + " status: " + textStatus + " errorThrown: " + errorThrown);
    ,
    complete: function () 
  );

控制器

public function cancelSIMS(Request $request)
    
       dd(request()->all());

        //
    

输出

array:1 [
  "_token" => "7wc63lIYESIYNCVHYUe3YAI5KSxo1nqvTgtCr"
]

【问题讨论】:

我们可以看到您作为参数传递的数据吗? [apnID: "67", cancelDate: "02/05/2019", sims: Array(1)] 你把你的javascript数据转换成json了吗?我的意思是你使用 JSON.stringify() 方法吗? 是的,我试过了,但还是不行 能否将 contentType 属性设置为“application/json”再试一次? 【参考方案1】:

在发送之前尝试序列化您的数据:

var serialized = JSON.stringify(data);

data: 
  "_token": $('meta[name="csrf-token"').attr('content'),
  "data": serialized
,

这是如何计算的?

【讨论】:

这就是我得到的“数据”=>“[]” 在不相关的注释中,jQuery recommends 在 .ajax() 调用中设置标头,而不是在 .ajaxSetup() 中设置,因为 ajaxSetup 为所有后续 ajax 调用设置参数。

以上是关于通过 AJAX 将数据传递给 Laravel 控制器的主要内容,如果未能解决你的问题,请参考以下文章

通过 AJAX 将数据传递给 MVC 中的控制器

如何使用json将数据传递给ajax函数?

通过 axios ajax post 将数据传递给 php 脚本

在 laravel 中使用视图作曲家将数据传递给惯性js

使用 jquery ajax 将数据传递给 php 的问题

在使用 Laravel 和 Vue 时,通过 Blade Views 将数据传递给 Vue 与使用 Axios 直接传递给 Vue Components 的优缺点是啥? [关闭]