Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con petición Ajax y respuesta xml

Estas en el tema de Problema con petición Ajax y respuesta xml en el foro de Jquery en Foros del Web. Que tal, Estoy tratando de hacer una petición ajax con jquery pero al momento de recibir la respuesta (la cual es un text/xml) siempre me ...
  #1 (permalink)  
Antiguo 21/04/2015, 14:10
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 9 meses
Puntos: 1
Problema con petición Ajax y respuesta xml

Que tal, Estoy tratando de hacer una petición ajax con jquery pero al momento de recibir la respuesta (la cual es un text/xml) siempre me marca un error, ojalá puedan ayudarme, mi petición es esta:

Código Javascript:
Ver original
  1. $.ajax({
  2.         type: "POST",
  3.         url: urlServer,
  4.         data: strXml,
  5.         contentType: 'text/xml; utf-8',
  6.         dataType: 'xml',
  7.         processData: false,
  8.         success: function(data) {
  9.             var jsonResp = $.xml2json(data);
  10.             if (jsonResp.header.resp_code === "00") {
  11.                 var states = jsonResp.message.list;
  12.                 var statesArray = states.split("\r\n");
  13.                 var options = "<option value=\"\">seleccione estado<option>";
  14.                 var splited;
  15.                 for (var i = 0; i < statesArray.length; i++) {
  16.                     splited = statesArray[i].split(fs);
  17.                     options+="<option value=\""+splited[0] +"\">"+ splited[1]+"</option>";
  18.                 }
  19.                 $("#stateid").html(options);
  20.             } else {
  21.                 showDlg("Registro", jsonResp.header.resp_message + "<br/>C&oacute;digo de respuesta: " + jsonResp.header.resp_code, "Aceptar", dlgCose);
  22.             }
  23.         },
  24.         error: function(jqXHR, textStatus, errorThrown) {
  25.             window.console.log("errorThrown: " + errorThrown);
  26.             window.console.log("textStatus: " + textStatus);
  27.         }
  28.     });

El asunto es que cada vez que hago una petición cae en la parte de error y lo que imprime el window.console.log es lo siguiente:

errorThrown: Error: Invalid XML:
Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <sbt-ws-message version="1.0">
  3.     <header>
  4.         <type>002501</type>
  5.         <servertime>21042015150454</servertime>
  6.         <resp-code>00</resp-code>
  7.         <resp-message>APROBADA</resp-message>
  8.     </header>
  9.     <message>
  10.         <text id="list"><![CDATA[1Distrito Federal
  11. 5Guerrero]]></text>
  12.     </message>
  13. </sbt-ws-message>

textStatus: parsererror

Como ven la petición es aprobada por parte del server pero la respuesta dice que hay un error en el xml.
Cabe mencionar que en dicha respuesta dentro de CDATA vienen unos caracteres 28 (FS) entre el 1 y Distrito Federal y entre 5 y Guerrero

me gustaría saber de que lado es la corrección según yo dentro de CDATA no debería tener problemas con caracteres especiales.
  #2 (permalink)  
Antiguo 21/04/2015, 14:38
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años, 6 meses
Puntos: 17
Respuesta: Problema con petición Ajax y respuesta xml

primero proba con otro xml, a lo mejor ese esta malformado.
  #3 (permalink)  
Antiguo 21/04/2015, 14:49
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Problema con petición Ajax y respuesta xml

Cita:
Iniciado por diurno10 Ver Mensaje
primero proba con otro xml, a lo mejor ese esta malformado.
Que tal, de hecho fue de las primeras cosas que hice pero el xml no está mal formado de hecho entre a validarlo en varias pagias que parsean y validan xml y el me marcaba errores pero no por su estructura sino por los caracteres (28)
  #4 (permalink)  
Antiguo 29/04/2015, 10:59
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: Problema con petición Ajax y respuesta xml

que tal lo he solucionado eliminando los caracteres especiales (28) de esta forma:

Código Javascript:
Ver original
  1. success: function(data) {
  2.     data = data.replace(String.fromCharCode(28), '\n');
  3.     var jsonResp = $.xml2json(data);
  4.     ...

Etiquetas: ajax, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:26.