How can I get returned string values in fetch()


Below code is my fetch method in my separate register.js. This is my newly created js file, so I can create my front end. At the moment I’m just trying to console.log the ending result for this fetch, but can’t get the output since I’m getting an error when I try to POST this.

error in browser console:
"Uncaught (in promise) SyntaxError: Unexpected token S in JSON at position 0"


            "Content-Type": "application/json"
                firstName: firstName,
                lastName: lastName,
                mobileNo: mobileNo,
                email: email,
                password: password

    .then(result =>{



In userRouter.js, this is the route I’m fetching in register.js above:'/register', (req, res)=>{

userController.register(req.body).then(result => res.send(result))})

And the route leads to this controller in Usercontroller.js:

module.exports.register = (reqBody)=>{

//check if email already exists before registering new user
return User.find({email:}).then((result, error) =>{

        if(result.length != 0){

            return "EMAIL EXISTS!";


            let newUser = new User({

                firstName: reqBody.firstName,
                lastName: reqBody.lastName,
                password: bcrypt.hashSync(reqBody.password, 10),
                mobileNo: reqBody.mobileNo


                return, error)=>{

                if (error){

                    return error;


                    return "SUCCESFULLY REGISTERED NEW USER";


As you can see, this is a registration form. Everything works fine in the backend, using postman to enter values. All my condition prompts are being returned(emails exist, successful registration).

But when I tried creating a frontend for it, I can’t get my defined prompts.Like when I deliberately input a duplicate email, I can’t get the message "Email exists" that I used to get when using only postman or just backend API functionality.

I feel like something is very wrong with what I’m trying to do. I’m having trouble creating a frontend for my API which I’m not used at the moment.


You are returning a non JSON response, so you can’t use res.json(). You are simply sending a text response. So use res.text()

  return res.text();

Answered By – Hariom Balhara

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published