1

期望的结果: 第二个 ajax 调用应该将返回的数据注入到 DOM 中的 div #co_label。

  • 第一个 alert() 中有正确的数据
  • 第二个 alert() 表明第二个 ajax 调用返回了正确的信息。但是,该数据不会注入到 DOM 中。
  • Chrome 的调试器中没有控制台错误

jQuery / Javascript:

$(document).on('click', '.mledit', function(event) {
    var company_id = this.id.split( 'editcopro_' )[1];
    $.ajax({
        type: "POST",
        url: "ajax/ax_all_ajax_fns.php",
        data: 'request=edit_company_data&company_id='+company_id,
        success:function(data){
            $('#co_label').html(data);
            var client_user_id = company_id;

            $('#co_label').dialog({
                autoOpen: true,
                height: 600,
                width: 800,
                modal: true,
                buttons: 
                    {
                        Okay: function() {
                            //Var defs for cn, cp, cw, ct, a1, etc.
                            $.ajax({
                                type: "POST",
                                url: "ajax/ax_all_ajax_fns.php",
                                data: 'request=update_edited_company_data&client_user_id='+client_user_id+'&co_name='+cn+'&co_phone1='+cp+'&co_website='+cw+'&co_city='+ct+'&co_addr1='+a1+'&co_addr2='+a2+'&co_acct_name='+an+'&co_acct_phone='+ap+'&co_acct_email='+ae+'&co_prov='+pv+'&co_pcode='+pc+'&co_country='+co+'&notes='+co_notes,
                                success: function(data) {
                                    $( '#alert' ).html( data );
                                    $( '#alert' ).dialog( 'open' );

                                    $.ajax({
                                        type: "POST",
                                        url: "ajax/ax_all_ajax_fns.php",
                                        data: 'request=update_edited_mailing_label&user_level='+user_level+'&user_id=' + user_id+'&user_type=' + user_type,
                                        success:function(data){
                                            $('#label_top').html(data);
                                        }
                                    });
                                } //End success
                            }); //End ajax[update_edited_company_data]
                            $( this ).dialog( "close" );
                        },
                        Cancel: function() {
                            $( this ).dialog( "close" );
                            window.location = '';
                        }
                    }
            })
        }
    });
});

更新:

我刚刚注意到这一点:通过 Chrome 开发人员和/或 Firebug,在 JQueryUI dlg 关闭后,整个 #co_label DIV 从文档中丢失。这条线之间似乎发生了一些事情:

$('#co_label').html(data);

这行:

$('#co_label').dialog({
4

1 回答 1

1

您是否尝试过使用 .val(data) 而不是使用 .html(data) :

 $('#co_label').val(data);

API 文档指出,在处理 XML 时不能使用 .html() ,这可能不是问题,但我之前使用 .html 时遇到过问题,而是使用了 .val 。如果您只是将非 HTML 格式的数据插入空 ID,则 .val() 应该适合您。

于 2012-11-09T21:19:35.260 回答