2012-04-12 15 views
5

estoy usando el siguiente script:Ver el texto object.responseXML para la depuración

<script type="text/javascript"> 
    function processResult(xData, status) { 
     $('.feedbackLink').empty(); 
     alert ($(xData.responseXML.xml)); 
     console.log($(xData.responseXML.xml)); 
     $(xData.responseXML).find("z\\:row").each(function() { 
      alert ($(this)); 
      var title = $(this).attr("ows_Title"); 
      var url = $(this).attr("ows_Contact"); 
      $('.feedbackLink').append("<a href="+url+">"+title+"</a>"); 
     }); 

    }; 

    $(document).ready(function() { 
    alert("ready"); 
     var soapEnv = "<?xml version='1.0' encoding='utf-8'?> <soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> <soapenv:Body> <GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> <listName>Pages</listName> <viewFields> <ViewFields> <FieldRef Name='Title' /> <FieldRef Name='Contact' /> </ViewFields> </viewFields> </GetListItems> </soapenv:Body> </soapenv:Envelope>";  
     $.ajax({ 
      url: "/_vti_bin/lists.asmx", 
      type: "POST", 
      dataType: "xml", 
      data: soapEnv, 
      complete: processResult, 
      contentType: "text/xml; charset=\"utf-8\"" 
     }); 
     alert(soapEnv); 
    }); 

    </script> 

Pero la alerta dentro $(xData.responseXML).find("z\\:row").each(function() { fuego costumbre. ¿Cómo puedo ver el responseXML? Quiero comprobar que estoy buscando los identificadores correctos (no sé de dónde viene el ows_, me dieron este script para trabajar).

La alerta y console.log solo muestran [object Object].

¿Algún consejo sobre cómo depurar esto?

+0

¿Qué navegador estás usando para sacar esto? –

+0

Estoy usando IE8 como estándar aquí, pero también tengo acceso a Firefox. Estoy tratando de usar el depurador de IE en este momento, pero también devuelve [object Object] – RyanS

+0

¿Ha instalado Firebug (http://getfirebug.com/) para Firefox? Si no, ¿puedes? –

Respuesta

1

Intente utilizar firebug para que firefox vea los mensajes de error y los mensajes producidos por console.log.

2

Pruebe usar console.log(xData.responseText) para obtener en la consola el xml real en lugar de [object Object].

3

en IE:

alert(xData.responseXML.xml); 

en Firefox (sin confirmar):

var string = (new XMLSerializer()).serializeToString(xData.responseXML); alert(string); 

para ver el código XML completa, puede agregarlo a la página (IE):

function processResult(xData, status) 
{ 
    document.body.innerHTML += htmlEncode(xData.responseXML.xml); 
} 
function htmlEncode(str) 
{ 
    return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;'); 
} 

xData.responseXML.xml es el xml como una cadena, por lo que no es necesario convertirlo en un objeto jquery

+0

sí, eso no fue para ti. excepto la última línea pero incluso entonces solo pensé que debería abordar la pregunta real – user1566694

Cuestiones relacionadas