Problema con JQuery 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:
$.ajax({ type: "POST", url: urlServer, data: strXml, contentType: 'text/xml; utf-8', dataType: 'xml', processData: false, success: function(data) { var jsonResp = $.xml2json(data); if (jsonResp.header.resp_code === "00") { var states = jsonResp.message.list; var statesArray = states.split("\r\n"); var options = "<option value=\"\">seleccione estado<option>"; var splited; for (var i = 0; i < statesArray.length; i++) { splited = statesArray[i].split(fs); options+="<option value=\""+splited[0] +"\">"+ splited[1]+"</option>"; } $("#stateid").html(options); } else { showDlg("Registro", jsonResp.header.resp_message + "<br/>Código de respuesta: " + jsonResp.header.resp_code, "Aceptar", dlgCose); } }, error: function(jqXHR, textStatus, errorThrown) { window.console.log("errorThrown: " + errorThrown); window.console.log("textStatus: " + textStatus); } });
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:
<?xml version="1.0" encoding="UTF-8"?> <sbt-ws-message version="1.0"> <header> <type>002501</type> <servertime>21042015145931</servertime> <resp-code>00</resp-code> <resp-message>APROBADA</resp-message> </header> <message> <text id="list"><![CDATA[1Distrito Federal 5Guerrero]]></text> </message> </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 Respuestas
Respuesta de ferdave
1
Respuesta de Marc Climent
4