gpt4 book ai didi

jquery - AJAX post 不发送数据到 laravel Controller

转载 作者:行者123 更新时间:2023-12-03 23:05:27 24 4
gpt4 key购买 nike

也许这是一个很常见的话题,但我找不到任何解决方案!,我正在开发的应用程序是在 Laravel 5.0 下,我需要将一些数据从 jquery ajax 发送到laravel Controller ,我关注了 this使用ajax发布数据的教程,我已经按照步骤进行了全局配置,这样我就有了一个带有csrf token 的元数据,当我使用ajax将post请求发送到一个url时,它只是发送 token !但我没有给它发送任何数据!

这是我的 ajax 函数(我使用虚拟数据来测试它):

        $.ajax( {
url : '/reservacion/paso-uno/enviar',
method : 'post',
data : { name: "John", location: "Boston" }
} );

但是当我 dd(\Request::all()); 在 post func 中时,我只得到 token ,而且如果我检查标题表单数据,我也只得到这个:

data sent through the post

这是标题的完整图像: headers

这是带有 csrf 的元标记:

<meta name="_token" content="{{{ csrf_token() }}}"/>

这是全局 ajax 设置:

$.ajaxSetup({
headers: { 'X-CSRF-Token' : $('meta[name=_token]').attr('content') }
});

重大更新

不知道为什么,也不知道如何,我猜这只是一个缓存问题,但是使用上述配置它会发送数据,但只有当我有 <input type='submit' > 时才会发生这种情况。并在 jquery 设置点击事件,因为如果我为提交事件设置它,它会在浏览器路径中使用查询字符串重新加载页面。

post data

现在的问题是 Controller 的功能未达到...当我单击按钮时没有任何反应,数据已发送但未到达 laravel Controller 。

最佳答案

希望这对您有帮助。

设置元标记如下

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

设置路线

Route::get('/your/url/goes/here',
[
'uses' => 'TestController@testFunction'
]);

设置 Controller 功能

在顶部使用输入;

public function iddtest()
{
print_r(Input::all());
}

请求如下

$.ajax({
data: {data1:'data1',data2:'data2'},
url: '/your/url/goes/here',
type: 'POST',
beforeSend: function (request) {
return request.setRequestHeader('X-CSRF-Token', $("meta[name='csrf-token']").attr('content'));
},
success: function(response){
console.log(response);
}
})

关于jquery - AJAX post 不发送数据到 laravel Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32262688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com