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
网友评论