首先第一种方式,我前端编码,但是后端又说他不配合解码,所以这个办法不能解决。
api.ewAjax = function(url, method, params, callback) {
method = method.toUpperCase() === 'GET' ? method : "POST";
// IE7+, Firefox, Chrome, Opera, Safari(XMLHttpRequest)
// IE6, IE5(ActiveXObject)
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
// GET or POST 请求
if (method.toUpperCase() === 'GET') {
url = params ? url + '?' + params : url;
xhr.open(method, url);
xhr.send();
} else {
if (params) {
if (typeof params === 'string' && params.indexOf('=') !== -1) {
xhr.open(method, url);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
xhr.send(params);
} else {
xhr.open(method, url);
xhr.send(params)
}
} else {
xhr.open(method, url);
xhr.send()
}
}
if (typeof callback === 'function') {
xhr.onreadystatechange = function(e) {
if (xhr.readyState === 4 && xhr.status === 200) {
callback(JSON.parse(xhr.responseText));
}
}
xhr.onerror = function() {
callback(this.status);
}
}
// the chaining method
this.then = function(fn) {
xhr.onreadystatechange = function(e) {
if (xhr.readyState === 4 && xhr.status === 200) {
fn.call(this, JSON.parse(xhr.responseText));
}
}
xhr.onerror = function() {
fn.call(this, this.status);
}
}
return this;
};
我用原生ajax封装的。
后台用的tomcat服务器,我要晕死了。到底是我前端的错还是后端的问题啊。
后端不配合,那这个问题就无解了!你编码了,他不解码肯定乱码啊!
这个如果不是为了加密,直接传中文后端也是能够获得的,存数据库也没问题的。