• Jobs
  • Bootcamp
  • About Us
  • For professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
    • Bootcamp
  • For business
    • Home
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

486
Views
I am getting such Kind Of Problem : Uncaught (in promise) SyntaxError: Unexpected end of JSON input

I am using react js and using mongo db. i am trying to get data by fetch. but i get this type of error : Uncaught (in promise) SyntaxError: Unexpected end of JSON input

const [product, setProduct] = useState({});
useEffect(() => {
  const url = `http://localhost:5000/product/${id}`;
  fetch(url)
    .then((res) => res.json())
    .then((data) => setProduct(data));
}, [id]);
9 months ago · Juan Pablo Isaza
2 answers
Answer question

0

Your code in useEffect is correct the reason you may be getting this error is because of

  1. There is no JSON data from the backend
  2. Maybe the JSON you received is not proper JSON

you can confirm this by replacing res.json() with res.text() and then console.log it

9 months ago · Juan Pablo Isaza Report

0

You should include a .catch() call in your chain of method calls off the fetch, so that you can handle errors or malformed input from your API. The error is saying it's "uncaught" because there is no catch clause.

i.e.

  fetch(url)
    .then((res) => res.json())
    .then((data) => setProduct(data))
    .catch((error) => console.error("Something went wrong: ", error))
9 months ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post job Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2023 PeakU Inc. All Rights Reserved.