我找到了针对此问题的几种解决方案,并尝试了所有解决方案(csrf令牌,url ..),但似乎都没有效果。
这是我的设置:
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失败的情况。我想念什么?
答案 0 :(得分:0)
好,我找到了解决方法:
整个问题是,为了使ajax成功,控制器需要传递并返回。 dd
函数在返回之前杀死控制器,因此ajax失败。
确保控制器始终到达其返回行。