Laravel 5.8 JSON响应有这么多空格

问题描述 投票:0回答:3

[每次我执行ajax请求时,Laravel始终会在响应文本之前返回带有大量空格的JSON响应,因此该响应始终执行错误,而不是在ajax请求的成功部分中执行,并且我无法显示我的错误消息也是因为它以空格开头,所以我不能采用对象表示法,有什么办法可以摆脱它吗?

回复文本的屏幕截图:

enter image description here

我的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'>&times;</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之外,我没有做任何更改。

jquery json ajax laravel laravel-5.8
3个回答
0
投票

您可以尝试将带有“ Accept”参数的标头设置为json到您的ajax中。

$.ajax({
    ...,
    headers: {
        'Accept': 'application/json',
    },
    ...
})

0
投票

由于无法添加评论,因此我将在此处发布问题。您能否在将数据返回脚本之前向我们展示转储您控制器中的数据?


0
投票

目前,我发现我的解决方案是在AppServiceProvider引导方法中添加ob_clean();,因此我不必在每个控制器和请求中都添加它,但是我希望有一个更好的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.