比使用async更好的方法:false

时间:2011-08-20 14:41:10

标签: jquery ajax

以下代码没有任何问题,但是我想知道在第二次Ajax调用中是否有更好的方法可以不使用async: false。在请求完成后阅读了很多关于浏览器锁定的内容我很担心这个,虽然我没有在我测试过的任何浏览器中看到过这个。

编辑:这段代码的作用是首先对MailingList_unsubscribe.asp进行ajax调用,以获取第二个Ajax请求中的URL使用的电子邮件地址,该请求使用电子邮件地址(查询字符串)发送信息/v/get_id.asp页面的URL。 此页面从数据库请求XML数据,并且根据响应将给出两个可能的消息之一。

jQuery(function(){
    jQuery.ajax({
    url: '/MailingList_unsubscribe.asp',
    type: 'GET',
    cache: false,
    success: function(data){
        if (jQuery(data).find('#content_area').find('input[name="emailaddress"]').length && jQuery(data).find('#content_area').find('input[name="emailaddress"]').val() != '' ){
            jQuery.ajax({
            url: '/v/get_id.asp?email=' +jQuery(data).find('input[name="emailaddress"]').val(),
            type: 'GET',
            cache: false,
            async: false,
            success: function(data){
                var xml;
                if (typeof data == "string" && jQuery.browser.msie ) {
                    xml = new ActiveXObject("Microsoft.XMLDOM");
                    xml.async = false;
                    xml.loadXML(data);
                    } else {
                    xml = data;
                    }
                    jQuery(xml).find('Customers').each(function(){
                            if (jQuery(this).find('Customer_IsAnonymous').text() == 'N' || jQuery(this).find('Customer_IsAnonymous').length == 0 ){
                                if(jQuery(this).find('Custom_Field_SubExpiry').text() != ''){
                                jQuery('#CBA').closest('tr').after('<tr class="colors_backgroundneutral"><td width="242"><span id="subscription">My subscription expires after '+jQuery(this).find('Custom_Field_SubExpiry').text()+'</span></td><td width="235"></td></tr>');
                                } else{
                                jQuery('#CBA').closest('tr').after('<tr class="colors_backgroundneutral"><td width="242"><span id="subscription">I do not have a current subscription</span></td><td width="235"></td></tr>');
                                }
                            }
                    }); 
                }  
            }); 
        }
    } 
});  

});

0 个答案:

没有答案