how to know when the DOM is ready again after adding a node from ajax

前端 未结 2 1641

I receive a JSON-File via ajax and added it to my DOM (see: how to read information of an ajax-dialogbox)

Now i wanted to get access to this DOM-node, but the only way i

2条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-24 06:24

    Use a callback function.

    function get_ajax_dialogwindow( CALLBACK ){
    var data = '__a=1&__d=1&__user='+get_userID();                              //Parameter für den Ajax Aufruf. Bestehend aus __a=1, __d=1 und der UserID
    var json;
    $.ajax({
        type:"GET",
        url: get_ajax_url(),                                                    //url für empfänger des Ajax Aufrufs. Lässt sich mit Firebug herausfinden, wenn man den link der das Dialogfenster öffnet analysiert
        data: data,
        dataType: "text",                                                       //eigentlich ist es json und kein text, allerdings gibt es einen Schutz von Facebook, 
                                                                                //der die Dauerschleife for(;;;) vorne heranschiebt. Deshalb wird es als Text betrachtet
        success: function(response) {           
            response = response.replace(/.*?;{/, "{");                          //Entfernt for(;;;)
            jsonFile = JSON.parse(response);                                    //Parsed den Text in ein Json file                   
            $('#globalContainer').append(jsonFile.payload.body.__html);         //Fügt das Dialogfenster ganz unten an die Seite hinzu
            if ( CALLBACK ) CALLBACK();
        },
    
        error: function(xhr) {                                                  //Fehlermeldung, falls der Ajax aufruf fehlschlägt
            alert('Error!  Status = ' + xhr.status);
            alert(xhr.responseText);
        }
    
    
    });
    
    }
    

    Then:

    get_ajax_dialogwindow(function(){
       alert("Test Combo" + combobox_by_name(value.ID_of_name));
    });
    

提交回复
热议问题