SyntaxError: неожиданный токен o в JSON в позиции 1 по запросу ajax - PullRequest
0 голосов
/ 19 октября 2018

я делаю вызов ajax, мой код выглядит следующим образом

        var Data = {
        name              : $('input[name=name]').val(),
        email             : $('input[name=email]').val(),
        phoneno           : $('input[name=phoneno]').val(),
        password          : $('input[name=password]').val(),
    };
    var data = JSON.stringify(Data);
$.ajax({
        url: "/registeruser",   
        type: "POST",      
        data:  data,      
        dataType: 'json',
        contentType: 'application/json',
        success: function(response)   // A function to be called if request succeeds
        {
          console.log('responsee........', response);
        },
        error: function(jqXHR, textStatus, errorMessage) {
            console.log('handle errpe message',errorMessage); // Optional
        },
    });

я получаю сообщение об ошибке на моей стороне сервера nodejs
SyntaxError: неожиданный токен o в JSON в позиции 1

myкод экспресс-маршрута

exports.registeruserController = function(req,res,next){
    console.log('sdasdasdasdasd');
 console.log('request of the user to register',req.body);
}

1 Ответ

0 голосов
/ 19 октября 2018

data не является JSON.

Это объект, который неявно преобразуется в строку:

var data = { for: "example" };
var what_you_are_sending = "" + data;
console.log(what_you_are_sending);

Сервер пытается проанализировать его как JSON.[ является началом массива.o является ошибкой.Затем он останавливается.


Вам необходимо преобразовать объект в JSON с помощью JSON.stringify.

var data = JSON.stringify({ for: "example" });
var what_you_should_send = "" + data;
console.log(what_you_should_send);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...