I'm using the following script:
<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>
But the alert within $(xData.responseXML).find("z\\:row").each(function() { wont fire. How can I view the responseXML? I want to double check I'm looking for the right identifiers (I dont know where the ows_ came from, I was given this script to work with).
The alert and console.log just displays [object Object].
Any advice on how to debug this?
Try using console.log(xData.responseText) to get in the console the actual xml instead of [object Object].
in IE:
alert(xData.responseXML.xml);
in Firefox (unconfirmed):
var string = (new XMLSerializer()).serializeToString(xData.responseXML); alert(string);
to see the full xml, you can append it to the page (IE):
function processResult(xData, status)
{
document.body.innerHTML += htmlEncode(xData.responseXML.xml);
}
function htmlEncode(str)
{
return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
}
xData.responseXML.xml is the xml as a string, so converting it to a jquery object isnt needed
Try using firebug for firefox to see error messages and messages produced by console.log.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With