Каждый раз, когда я выполняю запрос ajax, Laravel всегда возвращает ответ JSON с таким количеством пробелов перед текстом ответа, чтобы ответ всегда выполнялся с ошибкой, а не в разделе успеха ajax запрос, и я не могу также показать свое сообщение об ошибке, потому что оно начинается с пробела, поэтому я не могу взять обозначение объекта, могу ли я что-нибудь сделать, чтобы избавиться от него?
Снимок экрана с текстом ответа :
Мой ajax код запроса:
$('.ajax-form').submit(function (e) {
e.preventDefault();
var form = $(this);
$.ajax({
dataType: "json",
url: form.attr('action'),
method: form.attr('method'),
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function(result){
console.log('success');
alert(result.data.message);
if (result.data.location) window.location.hash = result.data.location;
location.reload(true);
},
error: function(err){
console.log(err);
if (err.status == 422) {
let el = form.find('.error-block');
el.find('.alert-danger').remove();
console.log(err);
$.each(err.responseJSON.errors, function (i, error) {
let errorBlock = "<div class='alert alert-danger alert-dismissible'> "
+ "<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×</button>"
+ "<p><i class='icon fa fa-close'></i> " + error[0]+ "</p></div>";
el.append(errorBlock);
$('.modal').animate({ scrollTop: 0 }, 'fast');
});
}
}
});
});
Мой код в laravel:
public function insert(Request $request)
{
$request->validate(['image' => 'required|image']);
return response()->json(['data' => ['message' => 'Data is successfully updated!']]);
}
На самом деле этот код работал до того, как я получил этот пробел, я думаю, что это проблема на стороне сервера, но я ничего не менял, кроме как сделать composer update
раньше.