node.js - Angular/Ionic 处理成功 200 作为错误

标签 node.js angular firebase ionic-framework google-cloud-functions

我将 ionic 与谷歌云功能一起使用,当我将数据返回到我的应用程序时, Angular 默认将其作为错误处理。

这是我使用 Node 进行的云函数回调: 我已经尝试在有效负载中添加大括号,但没有帮助。

function (error, response, body) {
    let payload = parser.toJson(body, parserOptions);
    console.log(payload)
    res.status(200).send(payload);
}

在该回调的控制台日志中,我得到:

{ 
    ResponseCode: '0',
    referenceID: '22072017152436718488608295',
    ResponseMessage: 'SUCCESS',
    paymentURL: 'url',
    net_amount: '0',
    invoiceNumber: '0',
    status: '200' 
}

这是我期望在 Angular/Ionic 代码中收到的数据。 在 Postman 中测试这一点也有效。

Angular 代码:

return this.http.post('/api', body, headers)
    .map(res => res.json())
    .subscribe(
        data => {
            console.log('Success')
            console.log(data)
        },
        err => {
            console.log('Error')
            console.log(err.status)
            console.log(err.message)
        }
    )

我收到错误状态 0 和错误消息 null。

最佳答案

这看起来像是描述的 CORS 错误 similarly here for angularjs并在this answer for Angular 2中有更多解释

解决方案是添加 header 服务器端来处理 CORS。

关于node.js - Angular/Ionic 处理成功 200 作为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45254666/

相关文章:

javascript - 如何检查 check 是否应包含 chai-things 的多个属性?

javascript - 无法从 Electron 视频聊天应用程序的第二个窗口中打开视频源(第一个窗口可以正常打开视频源)

html - 平滑加载消息 Angular 8

Angular Material - 表骨架占位符

html - 我的 Angular 应用程序中包含 css 的问题(不是 Angular cli)

java - Android Studio 中的冲突依赖项

javascript - 为什么 String.raw 不能以反斜杠结尾?

javascript - 分贝到线性转换

firebase - 无法从Firebase数据库中读取数据 - Flutter

xcode - 无法构建 Objective-C 模块 'Firebase' 和 'FirebaseAnalytics/FirebaseAnalytics.h' 文件未找到