美文网首页JS
js-base64.js实现base64编解码-解决中文乱码

js-base64.js实现base64编解码-解决中文乱码

作者: 五岁小孩 | 来源:发表于2020-07-25 22:16 被阅读0次

    js-base64.js实现base64编解码-解决中文乱码

    问题

     
    //此处的contentCK的内容为html标签且含有中文
    var contentCK="<h3 class="t c-gap-bottom-small">
                    <a href="https://www.baidu.com" target="_blank"><em>lo</em>_百度翻译</a>
                 </h3>";
     //解决方法,将数据进行base64加密,后台对应解析即可
     // contentCK=Base64.encode(contentCK);
        let data = {
            "Id":id,    
            "Content":contentCK,
        };
    
        $.ajax({
            type : 'POST',
            url : "/news/newsNotice/save",
            data : JSON.stringify(data),
            dataType : 'json',
            contentType:"application/json",
            async : false,
            success : function(result) {
                //请求成功
                if(result.success){
                   console.log("成功")
                }else{
                    //请求失败
                     console.log("失败")
                }
            },
            error: function (e) {
                console.log("请求错误:",e)
            }
    

    在使用ajax提交后会出现:不进入success,且readyState=4并且status=200时,还进error方法

    原因

    ajax中得参数data类型是"json",后台代码正常,返回正常的json结果集,
    但是前端一直都进到ajax的error方法,
    
    原因:是提交的数据并不是标准的json格式的字符串
    所以前端js进入不了success。
    无法解析为json格式的数据,所以报错进error。
    

    解决

    在提交数据时,对数据进行base64加密,后台进行解密:
    var contentCK="<h3 class="t c-gap-bottom-small">
                    <a href="https://www.baidu.com" target="_blank"><em>lo</em>_百度翻译</a>
                 </h3>";
     //解决方法,将数据进行base64加密,后台对应解析即可
     contentCK=Base64.encode(contentCK);
        let data = {
            "Id":id,    
            "Content":contentCK,
        };
    

    js引用:js-base64.js

    相关文章

      网友评论

        本文标题:js-base64.js实现base64编解码-解决中文乱码

        本文链接:https://www.haomeiwen.com/subject/tzcvlktx.html