javascript - 如何在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: '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/

相关文章:

javascript - longurl API 的替代品?

javascript - 如何在 Spark AR studio 中使用脚本访问 Assets (动画序列)

javascript - 什么 javascript 库在请求对象上设置 _parsedUrl 属性

.net - 动态添加客户端脚本/HTML 调用服务器端事件

c# - 在 asp.net + jquery 中实现自动注销 + 警告?

javascript - 使用 jQuery 在计时器上使用 ajax 更新 google 图表

javascript - 如何连接参数数量未知的数组

javascript - onClick 将其插入数组

javascript - 如何在 IE 上找到流氓 Ajax 请求的来源?

javascript - 动态更新 DOM 以适应新元素