Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery函数中使用Ajax变量_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 在jQuery函数中使用Ajax变量

Javascript 在jQuery函数中使用Ajax变量,javascript,jquery,ajax,Javascript,Jquery,Ajax,我一直在开发一个由其他人创建的站点,每次在该站点中有一个Ajax调用时,都会有一个显示进度条的div。在once实例中,虽然我想隐藏这个条(或者更好:不显示它),但我不知道如何在这个函数中获取Ajax变量 Ajax调用非常简单: $.ajax({url: url, ... 在代码的其他地方添加函数: jQuery(function ($) { $(document).ajaxStart(function () { $('#progressbar').modal('sh

我一直在开发一个由其他人创建的站点,每次在该站点中有一个Ajax调用时,都会有一个显示进度条的div。在once实例中,虽然我想隐藏这个条(或者更好:不显示它),但我不知道如何在这个函数中获取Ajax变量

Ajax调用非常简单:

$.ajax({url: url, ...
在代码的其他地方添加函数:

jQuery(function ($) {

    $(document).ajaxStart(function () {
        $('#progressbar').modal('show');
    });
我想在ajax调用中添加一些东西,比如

$.ajax({url: url, hideProgressBar: true, ...

然后使用false来阻止progressbar显示。有人吗?

在该调用的AJAX属性中将
global
选项设置为false:

global: false,

在该调用的AJAX属性中将
global
选项设置为false:

global: false,

使用
ajaxSend
代替
ajaxStart

$(document).ajaxSend(function (e, jqXHR, options) {
    if (options.showProgressBar) {
        $('#progressbar').modal('show');
    }
});
然后像这样进行ajax调用

$.ajax({
    url: "http://etc..",
    showProgressBar: false
});
您可以在ajax调用中放置任何您喜欢的选项,并且可以在发送事件处理程序的options对象中访问这些选项


注意:我知道我使用了
showProgressBar
,你说要隐藏它,但那只是我。如果需要,请更改此选项以适应:)

使用
ajaxSend
而不是
ajaxStart

$(document).ajaxSend(function (e, jqXHR, options) {
    if (options.showProgressBar) {
        $('#progressbar').modal('show');
    }
});
然后像这样进行ajax调用

$.ajax({
    url: "http://etc..",
    showProgressBar: false
});
您可以在ajax调用中放置任何您喜欢的选项,并且可以在发送事件处理程序的options对象中访问这些选项


注意:我知道我使用了
showProgressBar
,你说要隐藏它,但那只是我。如果需要的话,可以更改它以适应:)

您无权访问ajaxStart中的ajax选项。您无权访问ajaxStart中的ajax选项。我知道showProgressBar更有意义,但它是一个大型站点,我必须将
showProgressBar:true
添加到站点中的所有ajax调用中。因为它是一个大网站,我不想把事情搞砸,所以在我的代码中添加一个hideProgressBar更容易、更安全。@MichaelNieuwenhuizen是的,我理解。tymeJV上面的答案显然更适合您的需要。我知道showProgressBar更有意义,但它是一个大网站,我必须将
showProgressBar:true
添加到网站中的所有ajax调用中。因为它是一个大网站,我不想把事情搞砸,所以在我的代码中添加一个hideProgressBar更容易、更安全。@MichaelNieuwenhuizen是的,我理解。tymeJV上面的答案显然更适合您的需要。@MichaelNieuwenhuizen
ajaxStart
是一个全局处理程序,您可以通过设置属性
gloabl:false
来关闭它。执行此操作时,所有全局处理程序都不会运行,因此显示进度条的代码永远不会运行:)谢谢!这很有道理。@MichaelNieuwenhuizen
ajaxStart
是一个全局处理程序,您可以通过设置属性
gloabl:false
来关闭它。执行此操作时,所有全局处理程序都不会运行,因此显示进度条的代码永远不会运行:)谢谢!这很有道理。