ajax 获取接口返回json 总是报parse err

今天遇到一个问题,ajax调用resful接口返回的json数据无反应,后来发现调用接口返回状态是200,但是错误信息是parseerr。

百度搜了一下,大部分人都是在说 contenttype和datatype配置啥的,但是我这两个配置的没有问题。导致卡了好久。

最后发现问题在于:后端方法配置了 produces = {"application/json;charset=utf-8"}  并且返回的json不标准。举个例子:

"{'aa':'bb'}"  这样的会报错,不能用单引号,要用双引号:"{\"aa\":\"bb\"}"。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要想实现动态添加数据到JSON文件中,需要以下几个步骤: 1. 前端使用Vue和Ajax技术,将需要添加的数据通过POST请求发送到后端。例如: ```javascript axios.post('/addData', { name: '张三', age: 20, gender: '男' }).then(response => { console.log(response.data); }).catch(error => { console.log(error); }); ``` 2. 后端使用Node.js和Express框架接收前端发送的POST请求,并将数据添加到JSON文件中。例如: ```javascript const fs = require('fs'); const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); app.post('/addData', (req, res) => { const newData = req.body; const dataFile = './data.json'; let data = []; fs.readFile(dataFile, 'utf8', (err, content) => { if (err) { console.error(err); res.status(500).send('服务器错误:读取数据文件失败!'); } else { try { data = JSON.parse(content); } catch (e) { console.error(e); res.status(500).send('服务器错误:解析数据文件失败!'); } data.push(newData); fs.writeFile(dataFile, JSON.stringify(data), err => { if (err) { console.error(err); res.status(500).send('服务器错误:写入数据文件失败!'); } else { res.send('添加数据成功!'); } }); } }); }); app.listen(3000, () => { console.log('服务器已启动,监听端口3000...'); }); ``` 在上述代码中,我们首先使用`body-parser`中间件来解析请求体中的JSON数据,然后读取JSON文件中的数据,将新数据添加到数据数组中,最后将修改后的数据数组写回JSON文件中。 注意,以上代码只是一个简单的示例,实际场景中需要添加更多的错误处理和安全措施,例如检查请求体中的数据是否合法、限制JSON文件的大小、防止文件读写冲突等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心怀寰宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值