Básicamente, necesito usar insertBefore y appendChild con un resultado de jQuery AJAX de la página HTML del lado del servidor. Aparece el error: "Error al ejecutar 'inserBefore' en 'Nodo': el parámetro 1 no es del tipo 'Nodo'".
var parent_elem = $('#parent_elem'); $.ajax({ type:'POST', url:'example.com/my_ajax_call', data: {"my_data":my_data}, success:function(data){ parent_elem.prepend(data); //THIS IS THE JQUERY SOLUTION BUT I NEED PURE JS WHILE USING JQUERY AJAX REQUEST }, fail:function(data){ console.log(data); console.log('failed to load page'); } });lo que estoy tratando de hacer es esto:
var parent_elem = document.getElementById('parent_elem'); $.ajax({ type:'POST', url:'example.com/my_ajax_call', data: {"my_data":my_data}, success:function(data){ parent_elem.inserBefore(data, parent_elem.firstChild); //THIS IS WHAT I NEED BUT IT THROWS ERROR "Failed to execute 'inserBefore' on 'Node': parameter 1 is not of type 'Node'." }, fail:function(data){ console.log(data); console.log('failed to load page'); } });Si desea convertir una cadena HTML en un nodo, puede usar la función jQuery a su alrededor:
var node = $("<h1>hello world</h1>")
Entonces en tu caso:
parent_elem.inserBefore($(data)[0], parent_elem.firstChild);