【问题标题】:vue-resource response body null laravelvue-resource 响应体 null laravel
【发布时间】:2017-04-27 02:54:43
【问题描述】:

我有一些使用 Laravel (laravel/framework v5.3.24) 和 Vue ^2.0.1 构建的项目。我跑了composer update,它更新了laravel/framework 到v5.3.26。奇怪的是,在这次更新之后,我使用 vue-resource (^1.0.3) 的 Vue 组件开始出现问题 - 获取请求的 Response body 属性为空(有效数据正在从有问题的 url 输出)。我无法弄清楚为什么会这样。正在执行成功回调。

是的,更新了其他依赖项,包括spatie/laravel-fractal 和通常的开发依赖项。 spatie/laravel-fractal 包似乎正常工作,并且它的数据输出没有错误。

有什么会导致 vue-resource 出现这些问题的吗?

幸运的是,我最近将我的工作推送到 GitHub 存储库并将文件恢复到之前的状态,并且运行良好。 IMO,这个问题是运行composer update 的直接结果。

项目网址:https://github.com/AshMenhennett/Salon-Pricing

我没有任何其他数据要发布,因为控制台中的唯一错误是 Response 上的 null body 属性及其我试图访问的数据的结果。

【问题讨论】:

  • 如果可以在这里添加相关代码sn-p会更有帮助。
  • 当然。所有代码都在问题中包含的 github repo 链接中^^。违规代码位于resources/assets/js/components/ServicesTableComponent.vue。但是,不是由于“回滚”而不再存在的程序错误,而是我想知道是否有我错过的东西,在更新到laravel/framework 的 v5.3.26 后明智地构建。 fetchServices方法,发出get请求,更新后Response对象的body属性为null。

标签: laravel vue.js vue-resource


【解决方案1】:

在一个不太老的项目中,我们遇到了一个非常奇怪的问题,即 Laravel 和 Vue Resource 无法正确解析我们的返回数据。因此,请仔细检查您的内容类型。将下面的代码粘贴到我们的解决方法中,您可以使用它进行调试。

if( 'Content-Type' in response.headers && response.headers['Content-Type'] == 'application/json' ){
    if( typeof response.data != 'object' ){
        response.data = JSON.parse( response.data );
    }
}
if( 'content-type' in response.headers && response.headers['content-type'] == 'application/json' ){
    if( typeof response.data != 'object' ){
        response.data = JSON.parse( response.data );
    }
}

【讨论】:

  • 非常感谢!很快就会试用。
  • 我在 macOS 上更新了我的 Laravel 应用程序的依赖项 (composer update),而在我使用 Windows 10 之前。在 macOS 上,vue-resourceReponse 似乎没有任何问题要求。奇怪的。感谢您的意见。
  • 更新:在将更新后的composer.json 文件从存储库拉回 Windows 10 机器后,我能够运行composer update,并且在运行应用程序时没有发生意外行为。
猜你喜欢
  • 1970-01-01
  • 2016-10-06
  • 2020-10-09
  • 2020-09-12
  • 2018-04-15
  • 2016-04-23
  • 2019-11-16
  • 2017-06-01
  • 2013-09-04
相关资源
最近更新 更多