在向 Firebase-Cloud-Function 端点发送请求时收到“500 内部服务器错误”

Wal*_*d93 6 javascript firebase reactjs google-cloud-functions axios

我正在尝试POST使用axios我的 firebase 云功能在 Reactsubmit应用程序中的表单上发出请求。但500每次我使用 html 页面响应发出请求时,我都会收到“ ”错误此应用程序在启用 javascriot 时效果最佳。

最新更新:

看起来云函数代码没有问题。更多的是反应组件问题。我使用PostmanPOST请求头Content-Type属性设置为application/json 原始格式{"email": "example_email"}并以原始格式发送正文,并从云函数中获得了预期的响应。但是当从上面的反应组件发送请求时,我得到一个 html 文件响应,说应用程序在启用 javascript 的情况下效果最好

我试着设置Content-TypeApplication/jsonmultipart/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();
     }
   });

});
Run Code Online (Sandbox Code Playgroud)

React-Form-Component 片段

import axios from 'axios'

...

handleSubmit = e => {
  e.preventDefault()
  const { email } = this.state
  axios({
    method: 'post',
    url: `${process.env.REACT_APP_CLOUD_FUNCTION_ENDPOINT}`,
    data: { email: email },
    config: {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    }
  })
    .then(res => {
      //do something with reponse here
    })
    .catch(error => {
      console.error(error)
    })
}

...
Run Code Online (Sandbox Code Playgroud)

我在代码中做错了什么还是请求配置有问题?