【发布时间】:2019-06-26 18:47:07
【问题描述】:
我已向 API 发出 GET 请求,该 API 以 400 错误(和“无效请求”)响应拒绝 GET 请求;虽然我可以捕获和处理响应数据,但还有另一个我无法捕获的错误行:
GET https://API 地址/test 400
我的代码如下:
try {
let res = await this.axios.get(API)
console.log(res.data)
} catch (error) {
console.log(error.response.data)
}
我确实也尝试过将其作为一个承诺链(带有一个 catch) - 但结果相同,我认为将所有内容包装在一个 try catch 中就可以了。
我的 API 代码(托管在 Firebase 上)如下:
exports.test = functions.https.onRequest((request, response) => {
cors(request, response, () => {
if (request.method !== 'POST') {
return response.status(400).send('Invalid request.')
}
response.status(200).send("Hello from Firebase!");
})
});
第一行是当我发送 POST 请求时,其余的在 GET 请求之后返回:
如何处理 GET 错误?它来自哪里?
【问题讨论】:
-
你好,我刚刚测试了这个东西,尝试 catch 对我很有用。你错过了哪一行?
-
嗯,很有趣。黑线只是 API 地址。不确定您指的是哪一行?
-
您能否详细说明如何将带有
helloWorld的URL 链接到名为test的云函数? HTTPS云函数可以通过us-central1-<project-id>.cloudfunctions.net/test调用 -
抱歉,我有两个版本。编辑第一行以消除这种差异。如果我发送一个 POST 请求,这确实可以正常工作,所以这是关于错误的。
标签: javascript firebase vue.js google-cloud-functions axios