js处理中文乱码记录/nodejs+express error 413

在ajax提交数据时,由于中文全角字符等等问题导致服务器端接收到后显示乱码,具体表现为:\u00000\u000023等等(我本身想还原一下错误场景,尽然出现不了了,等下次在出现的时候,我在把乱码贴出来,下面具体讲解决方法):
细节原因不解释,自己可以去百度
乱码:

var n = $("#id").html();
$.ajax({
    type: 'post',
    dataType: 'json',
    url: '/',
    contentType: "application/x-www-form-urlencoded; charset=utf-8",
    data: n,
    success: function(data) {
        console.log(data);
    }
});

解决后:

var n = $("#id").html();
var _n = encodeURIComponent((encodeURI(n, "UTF-8")));

$.ajax({
    type: 'post',
    dataType: 'json',
    url: '/',
    contentType: "application/x-www-form-urlencoded; charset=utf-8",
    data: _n,
    success: function(data) {
        console.log(data);
    }
});

其实就加了encodeURIComponent encodeURI

在服务器端解码:

decodeURI(decodeURIComponent(escape(bodys)), "UTF-8")

顺便记录一下js在encode之后post提交到nodejs后端的时候,nodejs报413错误,其实修改方法很简单,修改下面两行即可(50m是不是有点大呀......):

app.use(bodyParser.json({limit: '50mb'}));
app.use(bodyParser.urlencoded({limit: '50mb', extended: true}));

 本文转自 ninnycalf 51CTO博客,原文链接:http://blog.51cto.com/314258/2067323
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值