javascript - 语法错误: Unexpected token o in JSON at position 1 over ajax request

标签 javascript jquery node.js ajax express

我让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:JSON 中位置 1 出现意外标记 o

我的快速路线代码

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

最佳答案

数据不是 JSON。

它是一个正在隐式转换为字符串的对象:

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

服务器正在尝试将其解析为 JSON。 [ 是数组的开始。 o 是一个错误。然后就停止了。

<小时/>

您需要使用 JSON.stringify 将对象转换为 JSON。

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

关于javascript - 语法错误: Unexpected token o in JSON at position 1 over ajax request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52897290/

相关文章:

javascript - jquery 创建输入时出现的问题无法为创建的元素创建限制

javascript - 如何隐藏/删除两个元素之间的所有文本?

node.js - express.js 路由代码定位,有关系吗?

angularjs - 在 Angular 中使用 lb-services 计数服务

javascript - 如何从PDF中提取文本?

javascript - 将用户输入添加到数组//Javascript

javascript - 使用 webpack 转译 ES6 模块后,模块未导出

javascript - 如何强制谷歌自动完成结果为 "native language"?

javascript - Magento 显示可配置产品的动态 SKU...选择所有选项后才显示

javascript - 整理并减少 JQuery 代码