js examples
/*
demo1: do not repeat yourself
*/
$.ajax({
'url': '/user',
'data': 'dept=aaa&active=true&_=' + Math.random(),
'dataType': 'json',
'headers': {
'X-CSRF-Token': $('#csrf').attr('content');
},
'type': 'GET',
'success': function(ret) {
if(ret.result === 0) {
console.log('data: ' + JSON.stringify(ret.data));
} else {
console.log('request error: ' + ret.msg);
}
},
'error': functoin(jqXHR, textStatus, errorThrown) {
console.log('ajax error...')
}
});
/*
1. 全局的ajaxError
*/
$(document).ajaxError(function() {
console.log('ajax error...')
});
/*
2. 全局的ajaxSetup
*/
$.ajaxSetup({
'dataType': 'json',
'headers': {
'X-CSRF-Token': $('#csrf').attr('content');
},
'cache': false
});
/*
3. 使用快捷方法
*/
$.get('/user', function(ret) {
// ....
});
/*
4. 统一的错误处理
*/
var showErrorTips = function(ret) {
console.log('request error: ' + ret.msg)
};
var Ajax = {
get: function(url, callback) {
$.get(url, function(ret) {
if(ret.result === 0) {
if(ret.data) {
callback(ret.data);
} else {
callback(ret);
}
} else {
showErrorTips(ret);
}
});
},
post: function(url, data, callback) {
$.post(url, data, function (ret) {
if(ret.result === 0) {
if(ret.data) {
callback(ret.data);
} else {
callback(ret);
}
} else {
showErrorTips(ret);
}
});
}
};
/*
result
*/
Ajax.get('/user' + '?dept=aaa&active=true', function(data) {
console.log('data: ' + JSON.stringify(data));
})