通常我不会使用ajax和laravel工作,但在我的laravel应用程序中,我需要做一些ajax请求,并处理错误和反馈。我看到了许多材料,但是我从后端到前端(php和js)看起来正确和最好的方式。
这是我的代码js:
$(function() {
$('.send').click(function(event){
event.preventDefault();
$.ajax({
url: "{{url('admin/posts/ajax')}}",
type: "post",
data: {'name':$('#name').val(), 'surname':$('#surname').val(), '_token': $('input[name=_token]').val()},
success: function(data){
console.log("sucess");
}
});
});
});
</script>
控制器:
public function storeAjax(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required',
'surname' => 'required'
]);
if ($validator->fails()) {
return response()->json($validator->messages(), 200);
}
}
但是给了我500个错误,所以希望有人能够以最好的方式指导我处理laravel和ajax之间的请求。
答案 0 :(得分:0)
以下是如何使用ajax在laravel中发布帖子请求...
$("#form-id").submit(function(e){
e.preventDefault();
$.ajax({
url: "url", //not the complete url, in your case it would be "admin/posts/ajax"
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data){
console.log("success");
},
error: function(data){
var errors = data.responseJSON;
//print the errors
}
});
});
我如何在控制器中处理它
public function store(Request $request)
{
// Validate the request...
$this->validate($request, [
'name' => 'required',
'email' => 'email|required',
]);
//store data into database
//return some data if required
}
路线应该是..
Route::post('store', 'YourController@store');