显示对象.响应 XML 文本以进行调试
Display object.responseXML text for debugging
我使用以下脚本:
<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>
但$(xData.responseXML).find("z'':row").each(function() {
内的警报不会触发。如何查看响应XML?我想仔细检查我正在寻找正确的标识符(我不知道ows_
来自哪里,我得到了这个脚本来使用)。
警报和控制台.log仅显示 [对象对象]。
关于如何调试它的任何建议?
尝试使用 console.log(xData.responseText)
在控制台中获取实际的 xml 而不是 [object Object]。
在 IE 中:
alert(xData.responseXML.xml);
在火狐中(未经证实):
var string = (new XMLSerializer()).serializeToString(xData.responseXML); alert(string);
要查看完整的 XML,您可以将其附加到页面 (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是字符串形式的XML,因此不需要将其转换为jquery对象
尝试使用 Firefox 的 Firebug 查看错误消息和 console.log
生成的消息。
相关文章:
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 如何在下面的ES6循环中获得前面的文本
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 借助asp.net验证或java脚本对多个文本进行验证
- 如何在vs2002中调试html页面
- 无法在ajaxStart中更改跨度文本
- 高亮显示时编辑文本大小和颜色
- jquery中的文本框验证
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 显示对象.响应 XML 文本以进行调试
- JS插入两个连续的文本节点在一个跨度不当时,不在调试模式
- 对文本区域的验证不起作用,我该如何调试它
- 没有javascript错误在Chrome调试器,但不插入文本
- 如何打印CasperJS调试结果到文本文件