最近研究了一下WebDav,尝试了一下用Jquery.ajax 发生请求访问WebDav. 代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Test WebDav</title>
<script src="Scripts/jquery-1.7.1.min.js"></script>
<script>
$(document).ready(function () {
var requestData = "<?xml version=\"1.0\" ?> " +
"<D:propfind xmlns:D=\"DAV:\">" +
"<D:allprop/>" +
"</D:propfind>"
$.ajax({
url: http://localhost/, type: "PROPFIND", contentType: "text/xml",
data: requestData,
dataType: "XML",
username: "test",
password: "test",
headers:{depth:"1"},
success: function (data) {
var filenodes = data.childNodes[0].childNodes;
var len = filenodes.length;
for (var i = 0; i < len; i++) {
if (filenodes[i].childNodes.length > 1 && filenodes[i].childNodes[‘1‘].childNodes.length > 1) {
var propStat = filenodes[i].childNodes[‘1‘].childNodes[‘1‘];
var displayName = propStat.getElementsByTagName("D:displayname");
if (displayName.length > 0) {
var td = "<tr><td>" + displayName[‘0‘].textContent + "</td>";
var modifyData = propStat.getElementsByTagName("D:getlastmodified");
if (modifyData.length > 0) {
td = td+"<td>"+modifyData[0].textContent+"</td>";
}
var isDirectory = propStat.getElementsByTagName("D:iscollection");
if (isDirectory.length > 0) {
td = td + "<td>"+isDirectory[0].textContent + "</td>"
}
td = td + "</tr>";
$("#tblBody").append(td)
}
}
}$("#results").text(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$("#results").text("Error: " + errorThrown)
}});
});
</script>
</head>
<body><textarea id="results"></textarea>
<table>
<thead>
<tr>
<th>Display Name</th>
<th>Modified Data</th>
<th>Is Directory</th>
</tr>
</thead>
<tbody id="tblBody"></tbody>
</table>
</body>
</html>
Jquery Call WebDav,布布扣,bubuko.com
时间: 2024-12-05 22:43:38