javascript - NodeJS Ajax 未传递数组,错误 : "Unexpected token u in JSON at position 0"

标签 javascript node.js ajax

我试图将带有 javascript 的数组传递到 Node.js 中的服务器,但收到此错误:

Unexpected token u in JSON at position 0

我查找了这个错误代码,发现这是因为我正在使用 Json 来解析未定义的内容。我一定没有将数组正确传递到服务器。我究竟做错了什么?这是我的代码:

客户端:

function ClientSide()
{
    var info = [];
    info[0] = 'hi';
    info[1] = 'hello';
    var json = JSON.stringify(info); //convert to json

    $.ajax({
        type: 'post',
        url: '/save',
        data: json,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (html) {
        }
    })
}

服务器端:

app.post('/save', function(req,res)
{
    var Passed_value = JSON.parse(req.body);
    console.log(Passed_value);
});

请求详细信息: enter image description here

最佳答案

如果您不使用主体解析器,则主体将是一个缓冲区。

我们需要:

https://github.com/expressjs/body-parser#bodyparsertextoptions

所以尝试一下:

const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.post('/save', function(req,res)
{
    var Passed_value = req.body;
    console.log(Passed_value);
});

当然,你需要

npm install body-parser 

确保已安装。

关于javascript - NodeJS Ajax 未传递数组,错误 : "Unexpected token u in JSON at position 0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51194551/

相关文章:

javascript - 不调用 jQuery 单击函数来删除动态生成的文本框

javascript - 如何将一个 JSON 行重新映射到分层 JSON?

javascript - Mongo 无法与 Node.js 一起使用

javascript - 验证名称为数组的输入元素

javascript - 如何使用 json 响应创建另一个 URL。 Node

node.js - 如何在 Mac 中使用命令行工具在 Windows Azure 云服务上部署 NodeJ

php - 如何将表单输入设置为 Json 打印 php 文件中的变量?

node.js - 在 Mac 上更改计算机名称后出现 Node JS 错误 EADDRNOTAVAIL

ruby-on-rails - AJAX Rails 验证

json - ASP .Net MVC 5 JsonResult 缓存