首页 > 解决方案 > 访问 Heroku 上部署的 NodeJS API 以进行注册时获取网络请求失败

问题描述

在点击部署在 Heroku 上的注册 API 时,我收到网络请求失败。API 在 localhost 上运行良好,并在 POSTMAN 上返回有效响应,但在 Heroku 上却没有。我已经复制了 POSTMAN 生成的代码并实现了我的注册功能以及对 formData 中的值进行硬编码。

 //login with email and password
  const signUpHandler = async () => {
    try {
      if (!isVerified) {
        showAlert19Handler();
        return;
      }

      if (!isEduFilled) {
        showAlert15Handler();
        return;
      }
      if (!isEmpFilled) {
        showAlert16Handler();
        return;
      }

      var myHeaders = new Headers();
      myHeaders.append("Content-Type", "application/json");
      const formData = new FormData();

      formData.append("first_name", "naila");
      formData.append("last_name", "khan");
      formData.append("email", "naila@gmail.com");
      formData.append("password", "123456");
      formData.append("about", "Nothing");
      formData.append("age", "24");
      formData.append("gender", "male");
      formData.append("user_type", "1");
      formData.append(
        "image_url",
        "https://th.bing.com/th/id/R33d02c67b4a6e90abe2d7a58f764edd8?rik=gA%2fesQP2%2f0%2b5uw&riu=http%3a%2f%2fwww.snut.fr%2fwp-content%2fuploads%2f2015%2f12%2fimage-de-nature-9.jpg&ehk=4oiNLekZZh50XowVszovQmq8w%2fH0S6GIwQYqeKknWaM%3d&risl=&pid=ImgRaw"
      );
      formData.append("education", "[{ degree: 'BSCS' }]");
      formData.append("employment", "[{ position: 'Dev' }]");
      formData.append("phone", "03009237743");
      formData.append("city", "karachi");
      formData.append("campus", "karachi");
      formData.append("batch_year", "2017");

      var requestOptions = {
        method: "POST",
        headers: myHeaders,
        body: formData,
        redirect: "follow",
      };

      fetch(
        password_ === ""
          ? `https://apanapp.herokuapp.com/api/user/createGoogle/${role_}`
          : `https://apanapp.herokuapp.com/api/user/create/${role_}`,
        requestOptions
      )
        .then((response) => response.json())
        .then((result) => {
          if (result?.user_created === true) {
            props.navigation.navigate("signin");
          }
        })
        .catch((error) => console.log("error", error));
    } catch (err) {
      throw err;
    }
  };

标签: node.jsreact-nativeapiheroku

解决方案


推荐阅读