我使用带有laravel 5.2的formrequest文件来检查输入。这个表单我使用jquery的$ .post函数进行调用。在我的控制台中,它返回 422 Unprocessable Entity ,我怀疑它来自响应,因为我没有将其格式化为json。做is this
的一种方法我想知道如何从我的表单请求中调用,即将输出消息更改为json的方法。
谢谢!
更新1
JQuery看起来像这样:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('input[name="csrf-token"]').val()
}
});
$("#changePassword").on('click', function(e){
e.preventDefault();
var data = {};
data.name = $("input[name='name']").val();
data.surname = $("input[name='surname']").val();
data._token = $('input[name="_token"]').val();
$.post('url',data).done(function(data){
$(".message").empty().html("Done!");
}).fail(
function(response, status){
}
);
});
答案 0 :(得分:2)
覆盖请求类中的响应方法,如下所示
/**
* Get the proper failed validation response for the request.
*
* @param array $errors
* @return \Symfony\Component\HttpFoundation\Response
*/
public function response(array $errors)
{
return Response::json([
'error' => [
'message' => $errors,
]
]);
}