ReactJS POST fetch не работает, ошибка: TypeError: Не удалось получить - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь отправить запрос POST из приложения reactjs в API. Я попытался с Почтальоном, и API работает, но моя выборка не делает и получает ошибку, которую я написал в заголовке. Пожалуйста, смотрите ниже мой следующий мой код:

function handleSubmit(event) {
        alert('A form was submitted: ' + vendorName);
        const proxyurl = "https://cors-anywhere.herokuapp.com/";
        const url = "https://localhost:8080/api/newuser"; 
        console.log('lets roll')

        fetch(url, {
            method: 'POST',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
              },
            // We convert the React state to JSON and send it as the POST body
            body: JSON.stringify({
               firstParam: vendorName
            })
        })
        // .then(res => res.json())



.then(function (response) {
            console.log(response)
            return response.json();

        }).catch((err) => {
            console.log(err)
        })

        event.preventDefault();
    }


    return (
        <div>
            <Navy vendorsdb={Vendorsdb} />
            <form onSubmit={handleSubmit}>
                <h2><a>Register your business</a></h2>
                <input onChange={event => setVendorName(event.target.value)} class="form-control" type="text" placeholder="enter business name" aria-label="Search"></input>
                <h1>{vendorName}</h1>
                <button type="submit">Submit</button>
            </form>
        </div>
    )
}

Вот код на стороне сервера, это API для обновления файла js новым маршрутом. Он работает с Почтальоном, но звонок из-за ios с моего клиента ReactJS не доходит до него.

module.exports = function (app) {
  app.post("/api/newuser", function (req, res) {
    console.log("yes can post") //didn't log
    newVendorReceived = (req.body.newVendor);



    //add new route for new vendor in App.js


    var jsFile;
    fs.readFile('./src/App.js', "utf8", function (err, data) {
      if (err) throw err;
      jsFile = data;
      console.log(jsFile)
      var appArray = jsFile.split(" ");
      console.log("appArray ", appArray.length)


      //find marker and insert new route statement
      for (i = 0; i < appArray.length; i++) {
        if (appArray[i] === "<Marker") {
          appArray.splice(i, 1, `<Route exact path="/${newVendorReceived}" props="${newVendorReceived}" render={() => <Chat />} />\n <Marker`);
          newJsFileData = appArray.join(" ");
          stringyVersion = JSON.stringify(newJsFileData)

          console.log("appArray after join is ", newJsFileData)
          fs.writeFileSync('./src/App.js', newJsFileData, function (err) {

            if (err) {
              return console.log(err);
            }

            console.log("Success!");

          });
          break;
        }

      }
      //find marker and insert new import statement
      for (let i = 0; i < 2; i++) {
        // console.log("sc")
        // console.log(appArray[i])
        // console.log("count ", i);
        if (appArray[i] === "/*!*/") {
          // console.log("##############")

          // console.log("found importmarker!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! marker is ", appArray[i])
          appArray.splice(i, 1, `import ${newVendorReceived} from './${newVendorReceived}'; /*!*/`);
          var newJsFileData = appArray.join(" ");
          var stringyVersion = JSON.stringify(newJsFileData)
          console.log("appArray after join is ", newJsFileData)

          fs.writeFileSync('./src/App.js', newJsFileData, function (err) {

            if (err) {
              return console.log(err);
            }

            console.log("Success!");

          });

        }

      }

    });
...