Código Javascript:
Ver original
$.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:
Código XML:
Ver original
<?xml version="1.0" encoding="UTF-8"?> <sbt-ws-message version="1.0"> <header> <type>002501</type> <servertime>21042015150454</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.