我正在尝试使用POST
向React应用程序中表单axios
上的Firebase云函数发出submit
请求。但是,每当我发出带有html页面响应的请求时,都会出现“ 500
”错误。 此应用在启用Javascriot的情况下效果最佳。
最新更新:
看来云功能没有问题 码。而是更多的反应组件问题。我用邮递员发送 标头属性为
POST
的{{1}}请求被设置为Content-Type
然后以原始格式application/json
发送正文, 来自云功能的预期响应。但是当发送来自 上面的react组件,我得到一个HTML文件响应,说该应用 在启用javascript的情况下效果最佳
我曾尝试将{"email": "example_email"}
和Content-Type
都设置为Application/json
,因为我怀疑这是一个问题,但还是没有运气。
以下是我对云功能的代码,并对提交表单做出反应:
云功能
multipart/form-data
反应形式组件代码段
const functions = require('firebase-functions');
const cors = require('cors')({ origin: true })
const runThisFunc1 = require(./libs/runThisFunc1);
const runThisFunc2 = require(./libs/runThisFunc2);
exports.wizardFunc = functions.https.onRequest((request, response) => {
cors(request, response, () => {
let email = request.body.email;
try {
return runThisFunc1(email)
.then(data => {
console.log("Word Done by 1!");
return runThisFunc2(data);
})
.then(res => {
console.log("Word Done by 2!");
return response.status(200).send("Success");
})
.catch(err => {
console.error("Error: ", err.code);
return response.status(500).end();
});
}catch(err) {
return response.status(400).end();
}
});
});
我在代码中做错了什么,还是请求配置错误?
答案 0 :(得分:-1)
不确定为什么要这么做
const { email } = this.state
您可以替换为并尝试
const email = this.state