ajax函数和async:false

时间:2011-08-03 07:47:11

标签: javascript jquery ajax

这里有一种奇怪的情况......

我有一个无法编辑的功能。(出于某种原因,我需要使用它而不是创建新的1,或者不允许覆盖脚本...)

function update_tpl2(form, divtoupdate, exeAlert) {
if(!$('#'+form).length)
    form = 'myform';
if(!$('#'+divtoupdate).length)
    divtoupdate = 'ajax_update';

$.ajax({
    type: "POST",
    url: url,
    data: $('#' + form).serialize(),
    dataType: "html",
    beforeSend: ShowLoading,
    success: function(resp){
        $('#theLoading').dialog('close');
        $('#loading').html('');         
        $('#' + divtoupdate).html(resp);
    }
});

}

我需要在运行时将async:false添加到该函数中。 有没有办法将ajax设置为async:false,不改变函数并使用它.......

1 个答案:

答案 0 :(得分:0)

或许这样的事情?

只需使用properties = {async:false}

调用以下函数
function update_tpl2(form, divtoupdate, exeAlert, properties) {
if(!$('#'+form).length)
    form = 'myform';
if(!$('#'+divtoupdate).length)
    divtoupdate = 'ajax_update';

var defaultProps = {
    type: "POST",
    url: url,
    data: $('#' + form).serialize(),
    dataType: "html",
    beforeSend: ShowLoading,
    success: function(resp){
        $('#theLoading').dialog('close');
        $('#loading').html('');         
        $('#' + divtoupdate).html(resp);
    }
}

jQuery.extend( true, defaultProps, properties)

$.ajax(defaultProps);