这是我的ajax
$.ajax(
{
url: url,
type: 'post',
dataType: 'json',
data: {'id':'1','name':'user'},
success: function(result) {}
});
这是 ajax 的基本设置,但我想在 ajax 中添加自定义选项 showLoader
。那么我该如何实现呢?
$.ajax(
{
showLoader: true,
url: url,
type: 'post',
dataType: 'json',
data: {'id':'1','name':'user'},
success: function(result) {}
});
showLoader
将在 ajax 请求开始时调用,并在 ajax 请求停止时调用。
在showLoader中,会有一个图像。
任何帮助将不胜感激。
最佳答案
服务类可以是这样的
var Services = function () {
this.showLoader = true;
this.post = function( route, param, callback, showLoader = true, successMessage = '', failCallback = null, errorMessage = '' )
{
this.showLoader = showLoader;
$.post( route, param )
.success(function(data){
if( successMessage.trim().length ) {
//notify successMessage
}
// if to have callback function call than
if( null != callback ) {
callback(data);
}
})
.fail(function(error, status, type){
if( null != failCallback ) {
//notify error callback if this exists
}
});
};
}
然后,您在类中实现执行 ajaxStart 和 stop 的方法,并在运行前验证 this.showLoader 属性是 true 还是 false。
因此,在您的代码中,您可以发送 ajax 请求,例如:
var service = new Service();
service.post('/user/add', form.serialize(), function(){}, false, 'User added successfully!');
我建议您在页面加载器开头的 JavaScript 中创建 new Service() 实例,这样您就不需要每次需要发送 ajax 请求时都创建一个新实例。
这是一种方法,现在就让你自己实现吧!
关于javascript - 如何在ajax中创建自定义选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46308200/