【问题标题】:laravel vue.js axios json object extra string appendedlaravel vue.js axios json 对象附加字符串
【发布时间】:2018-03-07 13:16:00
【问题描述】:

我开始使用 laravel 和 vuejs。在向服务器发帖并返回消息后,我遇到了问题。结果包含服务器返回的 json 对象的额外字符串。我的服务器端代码

try{
    $this->_gFormsService->saveGlobalForm($request);
}catch (\Exception $e){
    echo $e;
}


return ['message'=>'Form created'];

客户端代码

submit(requestType, url) {
        return new Promise((resolve, reject) => {
            delete this.errors;
            axios[requestType](url, this)
                .then(response => {

                    debugger
                    this.onSuccess(response.data);

                    resolve(response.data);
                })
                .catch(error => {

                    debugger
                    this.onFail(error.response.data);

                    reject(error.response.data);
                });
        });
    }

生成的 json 响应是

{data: "section{"message":"Form created"}"

如您所见,它将“部分”附加到 jsonobject 中,我不知道为什么。

谢谢

【问题讨论】:

  • 这当然不正常。你正在使用库存的 Laravel 安装吗?您是否在任何地方为您的路线添加了任何过滤器?
  • 无过滤器。这就是为什么一切都很奇怪。

标签: laravel vue.js axios


【解决方案1】:

尝试从 Laravel 返回真实的 JSON 响应:

return response()->json(['message'=>'Form created']);

然后在您的前端,您将能够从 response.data 获取您的 message 属性。

【讨论】:

  • 我试过了。结果是一样的。我认为问题可能出在客户端。结果是: "section{"message":"Form created"}" 。我在 vuejs 中使用 mixins,并且在全球范围内使用它们。我在那个 mixins 文件中有一个属性部分。可能是 axios 在准备响应数据时发生冲突?
猜你喜欢
  • 2021-09-26
  • 2021-04-12
  • 2020-09-29
  • 2012-05-16
  • 1970-01-01
  • 2022-11-20
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多