2012-04-12 8 views
5

Ich verwende das folgende Skript:Anzeige object.responseXML Text für das Debuggen

<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> 

Aber die Warnung innerhalb $(xData.responseXML).find("z\\:row").each(function() { wird nicht Feuer. Wie kann ich die responseXML anzeigen? Ich möchte überprüfen, dass ich nach den richtigen Bezeichnern suche (ich weiß nicht, woher die ows_ stammt, ich bekam dieses Skript, um damit zu arbeiten).

Der Alarm und die console.log zeigen nur [object Object] an.

Irgendwelche Ratschläge, wie man das debuggt?

+0

In welchem ​​Browser verwendest du das? –

+0

Ich verwende hier IE8 als Standard, habe aber auch Zugriff auf Firefox. Ich versuche, den IE-Debugger im Moment zu verwenden, aber es gibt auch nur zurück [Objekt Objekt] – RyanS

+0

Haben Sie Firebug (http://getfirebug.com/) für Firefox installiert? Wenn nicht, kannst du? –

Antwort

1

Versuchen Sie, firebug für Firefox zu verwenden, um Fehlermeldungen und Nachrichten zu sehen, die von console.log produziert werden.

2

Versuchen Sie, console.log(xData.responseText) zu verwenden, um in der Konsole das tatsächliche XML anstelle von [Objekt Objekt] zu erhalten.

3

in IE:

alert(xData.responseXML.xml); 

in Firefox (unbestätigt):

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

die volle xml, um zu sehen, können Sie es auf die Seite (IE) anhängen:

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 ist die XML-Datei als Zeichenfolge, daher wird die Konvertierung in ein jquery-Objekt nicht benötigt

+0

Ja, das war nicht für dich. außer der letzten Zeile. aber selbst dann dachte ich, ich sollte die eigentliche frage ansprechen – user1566694

Verwandte Themen