以为经常用到ajax来获取数据,如果每个页面都写一遍,代码重复太多而且繁琐,所以试着封装一下AJAX方法。也许第一想法是把ajax放在function中,然后在调用。如果直接这样写你就上当了,会出现获取不到返回值得情况,原因是ajax不能事实返回返回值。
那么问题来了,怎么解决这个问题!!Deferred.then()就可以解决多个异步操作之间有依赖的问题,下面是本人封装的一段代码:
/**
* 封装 AJAX
* @param {Object} url
* @param {Object} param
* @param {Object} type
*/
function handle_ajax(url, param, type) {
return $.ajax({
url: url,
data: param || {},
dataType:\'json\',
type: type || \'GET\'
});
}function ajax(url, param, type) {
return handle_ajax(url, param, type).then(function(resp) {
return resp;
}, function(err) {
console.log(err.status);
});
}调用方法:
ajax(\'www.stayed.cn/getlist\').done(function(resp) {
// 当result为true的回调
}).fail(function(err) {
// 当result为false的回调
});本文地址:https://www.stayed.cn/item/40
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我