bueno, esta es la primera vez que uso un foro y soy nuevo en estas cuestiones de ajax y javascript, sean pacientes por favor.
mi problema radica en lo suiguiente: estoy haciendo una funcion javascript que hace un llamado ajax asincrono, la funcion php que retorna una actualizacion a la base de datos funciona bien. y retorna lo que yo le digo; el problema es cuando la respuesta llega al javascript.
esta respuesta esta de este estilo "ok/*respuesta segun la consulta"
en el javascript hago un -> var respuesta = ajax.responseText.split("/*")
pero cunado pregunto si respuesta[0] == 'ok' el javascript me da false, por lo tanto no entra al if y lo curioso es que tengo otras funciones con la misma estructura y funcionan perfectamente.
alguien tiene un idea de que pueda estar pasando???
agradezco la ayuda que me puedan prestar.
por si acaso dejo las funciones.
funcio javascript
delphi
function actualizarMatIso(datos) { //alert("Escribir ajax de actualización -> "+datos); var nombre = datos.split('_'); var cantidad = document.getElementById('cantidad_'+nombre[1]+'_'+nombre[2]+'_'+nombre[3]); var peso = document.getElementById('peso_'+nombre[1]+'_'+nombre[2]+'_'+nombre[3]); //alert("cantidad: "+cantidad.value+" y peso : "+peso.value); var ajax = new creaAJAX(); ajax.open("POST", "tuberia_ajax.php?actualizarMatIso", true); ajax.setRequestHeader("content-type", "application/x-www-form-urlencoded"); var datosMat = "isometrico="+nombre[1]; datosMat = datosMat + "&material="+nombre[2]; datosMat = datosMat + "&destino="+nombre[3]; datosMat = datosMat + "&cantidad="+cantidad.value; datosMat = datosMat + "&peso="+peso.value; alert(datosMat); //return false; ajax.send(datosMat); ajax.onreadystatechange = function() { if(ajax.readyState == 4) { //alert("Respuesta ajax -> "+ajax.responseText); var mensaje = ajax.responseText.split("/*"); alert(mensaje[1]); if(mensaje[0] == 'ok') { alert('Actualizando listado'); isometricoMateriales(nombre[1]); } } }; }
codigo php que responde
delphi
if(isset($_GET['actualizarMatIso'])) { //echo "ok/*".print_r($_POST,1); //exit; $sql = "UPDATE material_quantity SET cantidad = {$_POST['cantidad']}, peso = {$_POST['peso']} WHERE id_isometrico = '{$_POST['isometrico']}' AND id_material = '{$_POST['material']}' AND destino = '{$_POST['destino']}'"; //echo "error/*".$sql; //exit; $consultor1->procesaSQL($sql); if(!$consultor1->errorTareas) { echo "ok/*Los datos han sido actualizados."; } else echo "error/*Se ha presentado un problema al actualizar los datos."; }