我找到了几种解决方案,都试过了(csrf令牌,urls)。但它们似乎都不起作用。
这是我的设置:
html文件:
<meta name="csrf-token" content="{{ csrf_token() }}">
...
<button id="button" class="btn btn-success">Assign Selected</button>
...
我的js文件:
$(document).ready(function () {
$('#button').click(function (e) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
dataType: 'json',
url: '/wptest',
data: { data: 'ahoj' }
}).done(function (data) {
console.log('Ajax was Successful!')
console.log(data)
}).fail(function () {
console.log('Ajax Failed')
});
});
}
和我的web.php文件:
Route::post('/wptest','UserController@assignToWP');
在我的控制器中,只有一个简单的dd($request);
编辑:网络选项卡显示: 200 OK
问题:我总是在点击按钮后得到Ajax失败。我错过了什么?
发布于 2019-04-15 04:38:20
好的,我找到了解决方案:
整个问题是,为了让ajax成功,控制器需要传递并返回。dd
函数在返回之前杀死控制器,因此ajax失败。
确保控制器总是到达它的返回线。
https://stackoverflow.com/questions/55679730
复制相似问题