角度/离子处理成功200作为错误

时间:2017-07-22 12:39:59

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

我正在使用离子与谷歌云功能,当我将数据返回到我的应用程序时,角度默认为将其作为错误处理。

这是我使用节点回调的云函数: 我已经尝试过将有花括号添加到有效载荷中,但它没有帮助。

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 Code:

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。

1 个答案:

答案 0 :(得分:0)

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

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