ajax请求,使用res.end()返回值导致错误

说明
今天在学习axios时,在创建的node服务器中使用res.end()方法返回响应数据,老是报错,后来发现自己傻逼了。
错误
在这里插入图片描述虽然可以返回数据,但是会有这一行错误提示。
改错经过
1、在网上搜了一下,以为请求时需要声明Content-Type,结果怎么也搞不好。
2、后来在使用express框架的res.send()方法返回响应数据时,发现不会报错。
3、后来网上搜了一下,发现在发送响应数据时,官方说使用res.send()和res.json()这两个方法。
res.end和res.send的区别
1、res.end() 终结响应处理流程。
2、res.send() 发送各种类型的响应。
3、res.end() 参数为: a Buffer object / a String(字符串或者buffer实例)
4、res.send() 参数为: a Buffer object / a String / an object / an Array(字符串、buffer实例、对象、数组)
5、res.end() 只接受服务器响应数据,如果是中文则会乱码
6、res.send() 发送给服务端时,会自动发送更多的响应报文头,其中包括 Content-Tpye: text/html; charset=uft-8,所以中文不会乱码
参考链接
nodeJs中res.end和res.send 区别
https://blog.csdn.net/weixin_33834628/article/details/91700447

AJAX请求有时收不到返回值,可能具有以下几个原因: 1. 网络问题:由于网络不稳定或者请求量过大导致的延迟,可能会导致部分请求无法及时收到返回值。可以通过监控网络状态或者增加服务器的带宽来解决网络问题。 2. 服务器问题:服务器可能存在一些问题,比如容量不足、处理速度慢、代码错误等,这些都可能导致部分请求无法正常返回数据。可以通过增加服务器资源、优化接口代码来解决服务器问题。 3. 请求错误:在进行AJAX请求时,可能出现请求参数错误请求URL错误等问题,导致服务器无法正确处理请求并返回数据。可以通过检查请求参数、URL路径等来解决请求错误问题。 4. 客户端问题:部分浏览器可能对AJAX请求有一些限制,比如同源策略等。也有可能是客户端代码编写错误导致部分请求无法收到返回值。可以通过检查浏览器兼容性、修改客户端代码来解决客户端问题。 5. 并发问题:如果多个请求同时发送到服务器,那么服务器可能无法同时处理这些请求导致部分请求无法及时返回。可以通过增加服务器的处理能力或者优化请求的并发处理方式来解决并发问题。 总的来说,AJAX请求无法收到返回值可能是由于网络、服务器、请求、客户端、并发等多种原因所导致的。针对具体情况,可以逐一排查并解决相关问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值