SyntaxError:意外的令牌u,没有解析

时间:2016-11-13 01:36:11

标签: ajax node.js

我正在尝试发送这样的帖子请求:

$.ajax({
   type: "POST",
   url:"/game/register",
   data: {"user": username},
   success: function(){console.log("SUCCESS");},
   dataType: 'json'
});

我正在服务器上收到它:

var jsonString = '';
req.setEncoding('utf8');

req.on('data', function (data) {
   jsonString += data;
});

req.on('end', function () {
   console.log(jsonString);
   reqData = JSON.parse(jsonString);
   //console.log(reqData);
   respond(200, JSON.stringify(reqData));
});

我尝试解析时遇到以下错误。

SyntaxError: Unexpected token u

似乎构建字符串很好,因为我可以打印它,只是不将它转换为JSON。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

从错误中我会说JSON.parse得到的东西不是JSON语法。也许'undefined'?在此行周围添加控制台消息,

jsonString += data

检查数据类型。它是一个字符串吗?

编辑:根据您在评论中的回复,您的数据不是JSON,因此难怪JSON.parse()失败。 JSON syntax看起来像这样:

{"user":"WhateverUsernameIs"}