旧的ajax请求对象:XmlHttpRequest
XmlHttpRequest在web开发中,已经有很长时间,在使用上面只要网页里牵涉到异步加载的,几乎都是使用XmlHttpRequest这个对象进行异步数据访问。由于时间长,所以各大浏览器/手机/pc等都对其api支持比较完善。以下是在项目中些的一个公共的ajax,这里备注以下
//这是最终执行ajax的方法,里面做了很多判断
var XmlHttpPost = function(data) {
try {
_appurl = data.serverInterface != undefined ? _interfaceAppUrl.format(data.serverInterface) : _appurl;
} catch(e) {
//TODO handle the exception
}
var ajaxData = {
type: "post",
contentType: data.contentType ? data.contentType : "application/json;charset=utf-8",
async: data.sync ? data.sync : false,
timeout: data.timeout ? data.timeout : 5000,
url: data.url ? data.url : _appurl,
dataType: data.dataType ? data.dataType : 'json',
data: data.data ? data.data : "",
jsonp: data.jsonp ? data.jsonp : "weicyjsoncallback",
success: data.success ? data.success : function(result) {
if(_AppDebug) {
console.log(result)
}
},
complete: data.complete ? data.complete : completeDefault,
error: data.error ? data.error : function(er) {
try {
mui.toast("访问出错,请检查网络连接");
} catch(e) {
//TODO handle the exception
alert("访问出错");
}
}
};
excFunctionAjax(ajaxData);
}
var excFunctionAjax = function(ajaxData) {
var next = GetUrlRelativePath(); //获取房钱的url
var first = GetUrlRelativePath(ajaxData.url);//获取ajaxData对象传入的url
//如果不是jsonp,并且域名不相同,或者链接里面域名为null,则进行普通的ajax请求
if((ajaxData.d