我想处理POST数据从Ajax到laravel控制器,但我无法访问它。这就是我在AJAX中所做的。AJAX张贴到laravel返回404没有找到
$.ajax({
type:'POST',
url:'/complete_ca_fin',
data: {fin_id: id},
success:function(data){
console.log(data);
$('#modal_complete').modal('hide');
$('html, body').animate({
scrollTop: 0 }, "slow");
$('#message_form').empty().css('display','block').removeClass('alert-danger').addClass('alert-success').text('Finished Good CA has been successfully completed.');
$('#message_form').fadeOut(4000);
setTimeout(function(){
window.location = '/quality_control';
}, 3000);
refresh_check = true;
window.onbeforeunload = null;
},
error: function (data) {
console.log('Error: ' + data);
} // end of error
}); // ajax
id
应该在控制器中访问。下面是我的路线
Route::post('/complete_ca_fin', '[email protected]_ca_fin');
这里是我的控制器
public function complete_ca_fin(Request $request) {
$id = $request->id;
$complete_ca = FinishedCA::findOrFail($id);
if ($complete_ca){
$complete_ca->status = '5';
$complete_ca->save();
return 'success';
}
//return 'success';
}
当我尝试返回$id
只是为了测试我发现它是空的(我不知道,如果它有什么用它做)但我知道在ajax var id
有价值,因为我在控制台中测试它。
以下是控制台日志的示例。 37是id的值,所以应该在控制器
我想我失去了请求的价值,我试着做这个'$ id = $ request-> id; return $ id;'并且它返回空。你可以帮我吗?我认为这就是失败的原因。 – user827391012
我现在不知道。原来我需要在我的ajax请求上使用'data:{variable:value}' – user827391012
对不起,应该提到你需要向var添加一个键。很高兴你把它排序,供将来参考'orFail'将返回一个404响应,如果该项目没有被发现,只需使用'find'你必须检查null null :) – Ian