jQuery AJAX成功在Firefox中不起作用 [英] jQuery AJAX success doesn't work in Firefox

查看:132
本文介绍了jQuery AJAX成功在Firefox中不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  $('#brick-mixer-form')。submit(function( e){
e.preventDefault();

$(#mix-bricks-submit)。addClass(load);
$(#mix- (value,Blander sten ..);

var form_data = $(#brick-mixer-form)。serialize()

$ .ajax({
类型:GET,
url:build.php,
data:form_data,
dataType:'text',
async:false,
成功:函数(数据){
$(。active)。attr('src','build.php?'+ form_data +'')。 ();
$(#mix-bricks-submit)。attr(value, Bland igen);
$(#bricks-selected)。attr(value,form_data);
$(#pdf_saver)。css(display,block) ;
});
}
});
} );

在Google Chrome浏览器中,此功能非常完美,但在Firefox中,我只能触发一次。



当我再次按提交按钮 mix-bricks-submit 时,它不会再次运行调用。 p>

解决方案

根据。 load() url参数不是可选的,所以要么

  $('#brick-mixer-form') .submit(函数(e){
e.preventDefault();

$(#mix-bricks-submit).addClass(load);
$ (#mix-bricks-submit)。attr(value,Blander sten ..);

var form_data = $(#brick-mixer-form)。serialize )

$ .ajax({
类型:GET,
url:build.php,
data:form_data,
dataType: 'text',
async:false,//我会避免强制同步
success:function(data){$ b $ load()函数(){
$(#mix-bricks-submit) .removeClass( 负载);
$(#mix-bricks-submit)。attr(value,Bland igen);
$(#bricks-selected)。attr(value,form_data);
$(#pdf_saver)。css(display,block);
//});
}
});
});

  $('#brick-mixer-form')。submit(function(e){
e.preventDefault();

$(#mix-bricks-submit ).addClass(load);
$(#mix-bricks-submit)。attr(value,Blander sten ..);

var form_data = $(#brick-mixer-form)。serialize()
$ b $ .ajax({
类型:GET,
url:build.php ,
data:form_data,
dataType:'text',
async:false,//我会避免强制同步
成功:function(data){
$ (.active)。load('build.php',form_data,function(){
$(#mix-bricks-submit)。removeClass(load);
$ #mix-bricks-submit)。attr(value,Bland igen);
$(#brick-selected)。attr(value,form_data);
$ (#pdf_saver).css(display,block);
});
}
});
});

尽管为什么要执行两次ajax语句,我不确定是否是

I have this little AJAX call:

    $('#brick-mixer-form').submit(function(e) { 
        e.preventDefault();

        $("#mix-bricks-submit").addClass("load");
        $("#mix-bricks-submit").attr("value", "Blander sten..");

        var form_data = $("#brick-mixer-form").serialize()

        $.ajax({
           type: "GET",
           url: "build.php",
           data: form_data,
           dataType: 'text',
           async: false,
           success: function(data) {
              $(".active").attr('src', 'build.php?'+form_data+'').load(function() {
              $("#mix-bricks-submit").removeClass("load");
              $("#mix-bricks-submit").attr("value", "Bland igen");
              $("#bricks-selected").attr("value", form_data);
              $("#pdf_saver").css("display", "block");
           });
        }
     });
});

In Google Chrome this works perfect, but in Firefox I can only trigger it once.

When I press the submit button "mix-bricks-submit" again it will not run the call a second time.

解决方案

According to .load() the url parameter is not optional so either

$('#brick-mixer-form').submit(function(e) { 
        e.preventDefault();

        $("#mix-bricks-submit").addClass("load");
        $("#mix-bricks-submit").attr("value", "Blander sten..");

        var form_data = $("#brick-mixer-form").serialize()

        $.ajax({
           type: "GET",
           url: "build.php",
           data: form_data,
           dataType: 'text',
           async: false, //I would avoid forcing synchronous
           success: function(data) {
              //$(".active").attr('src', 'build.php?'+form_data+'').load(function() {
              $("#mix-bricks-submit").removeClass("load");
              $("#mix-bricks-submit").attr("value", "Bland igen");
              $("#bricks-selected").attr("value", form_data);
              $("#pdf_saver").css("display", "block");
           //});
           }
        });
});

or

$('#brick-mixer-form').submit(function(e) { 
        e.preventDefault();

        $("#mix-bricks-submit").addClass("load");
        $("#mix-bricks-submit").attr("value", "Blander sten..");

        var form_data = $("#brick-mixer-form").serialize()

        $.ajax({
           type: "GET",
           url: "build.php",
           data: form_data,
           dataType: 'text',
           async: false,//I would avoid forcing synchronous
           success: function(data) {
              $(".active").load('build.php',form_data,function() {
                $("#mix-bricks-submit").removeClass("load");
                $("#mix-bricks-submit").attr("value", "Bland igen");
                $("#bricks-selected").attr("value", form_data);
                $("#pdf_saver").css("display", "block");
              });
           }
        });
});

Although why would execute the ajax statement twice i am unsure of

这篇关于jQuery AJAX成功在Firefox中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆