Javascript 如何在ajax中创建自定义选项

Javascript 如何在ajax中创建自定义选项,javascript,jquery,ajax,Javascript,Jquery,Ajax,这是我的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:

这是我的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创建instance new Service(),这样您就不必在每次需要发送ajax请求时都创建一个新实例


这是一种方式,让你自己实现现在

我不知道如何使用$(document.bind(“ajaxSend”,function(){//Show loader})。bind(“ajaxComplete”,function(){//Hide loader}”);不,我知道这一点,但我需要一个自定义选项。您可以创建一个服务类来发送ajax请求,并在该服务类中启动和停止ajaxEvents。这样,您可以在参数中设置showLoader选项。在$.ajax函数中,我认为实现这一点并不是一个更好的地方。@Pauloteix我该怎么做?