Błąd składni: Nieoczekiwany token

0

Pytanie

Staram się wysłać dane formularza, wykonać zapytanie na publikację w API i zobacz prognozy, ale pojawia się błąd: SyntaxError: Unexpected token < in JSON at position 0 w czasie pracy. Sprawdziłem API, i on jest w porządku. Ja załączeniu zapytanie na publikację poniżej. Myślałem, że jest problem z formy. proszę, poprawcie mnie, jeśli się mylę.

enter image description here

const FirstProject = () => {
  const [solutestate, setSoluteState] = useState("");
  const [solventstate, setSolventState] = useState("");
  const [fetchData, setFetchData] = useState("");
  const [Error, setError] = useState(null);

  const { register, handleSubmit, control } = useForm({
    defaultValues: {
      solute: "",
      solvent: "",
    },
  });

  const formData = new FormData();
  const onSubmit = (data) => {
    formData.set("solute", data.solute);
    formData.set("solvent", data.solvent);

    fetch("https://flask-api-test1.herokuapp.com/predict", {
      method: "post",
      body: formData,
    })
      .then((res) => res.json())
      .then((result) => {
        setFetchData(result.result.predictions);
        //console.log(result.result.predictions);
        //console.log(Object.entries(result));
        // setIsPending(false);
      })
      .catch((err) => {
        console.log(data);
        setError(err.error);
        console.log(err);
      });
  };

<form onSubmit={handleSubmit(onSubmit)}>
 <input
  {...register("solute")}
  placeholder="First Name"
  onChange={(e) => setSoluteState(e.target.value)}
  value={solutestate}
 />
 <input
  {...register("solvent")}
  placeholder="First Name"
  onChange={(e) => setSolventState(e.target.value)}
  value={solventstate}
 />
 <input type="submit" />
 </form>

enter image description here enter image description here

fetch fetch-api forms react-hook-form
2021-11-22 15:14:44
1

Najlepsza odpowiedź

0

To json() sposób przeprowadzenia Response interfejs przyjmuje strumień odpowiedzi i odczytuje go do końca. Zwraca obietnica, który jest dozwolone w wyniku analizy tekstu głównego w następujący sposób JSONale twoja prośba o API Zwrot 500 kod statusu. Możesz poradzić sobie z tym tak:

.then((res) => {
    if (res.ok) {
       return res.json();
    }
    throw "Something went wrong";
 })

zamiast

.then((res) => res.json())
2021-11-22 15:25:33

Mam "coś poszło nie tak", gdy uruchomiłem swój kod
harsh

Oczywiście, to działa z tym kodem throw "Something went wrong"; })API serwera jest uszkodzony, i zapytanie wraca 500 Internal Server Error.
Vitaliy Rayets

@surowy serwer wywala, po kliknięciu na api. trzeba debugować, co jest nie tak z serwerem.
abhi patil

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................