ajax post请求发送json数据报错unexpected token in json at position的问题解决

报错基本是这个样子的,unexpected token in json at position。

网上查询的解决方案实在是没解决我的问题。

我的错误原因是json数据格式错误

问题背景是将json格式的数据以post请求的方式发送给nodejs服务器,服务器端解析报错。

发送的测试数据如下:

data = {first_name:"g",last_name:"h"};
上面这个是 错误的

正确的如下:

data = {"first_name":"g","last_name":"h"}


之前曾经在某个地方看到过,json格式数据严格要求key的这个双引号,但是没实际踩坑,没记住。

后文附服务器端代码和测试代码

【附】

服务器端

var express = require('express');
var bodyParser = require('body-parser');

var app = express();

app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());

app.post('/test', function (req, res) {
    console.log('req.body', req.body);

    for(var x in req.body){
        console.log(req.body[x]);
    }
    res.end("end");
});

app.listen(8888);
测试代码【测试代码我一直是直接敲在浏览器控制台 - -】

data = {"first_name":"g","last_name":"h"};
var xhr = new XMLHttpRequest();
xhr.onreadystatechange=function(){
  if(xhr.readyState==4 && xhr.status==200){
    	alert(xhr.responseText);
  }
}
xhr.open("POST","/test",true);
    

xhr.setRequestHeader("Content-type","application/json");
xhr.send(JSON.stringify(data));
console.log(xhr.responseText);






  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值