我正在尝试编写一个 javascript/jquery 插件来仅使用 JSON 数据访问 webDav 存储,但正在努力让它工作。
webDav 将是一个远程存储,因此我需要发出跨域 ajax 请求,并传递身份验证数据。
我尝试过各种版本,但当我直接在浏览器中输入 URL(并提供登录凭据)时,我总是无法正确访问文件,但预检
身份验证总是失败.
这是我尝试过的:
$.ajax({
url: priv.url + '/' + priv.user + '/' +
priv.foldertree + '/' + docid,
type: "GET",
async: true,
crossdomain : true,
headers : {
Authorization: 'Basic ' + Base64.encode(
priv.user + ':' + priv.password
)
},
success: function (content) {
console.log( content );
}
});
我还设置了以下内容,但没有运气:
xhrFields: {withCredentials: 'true'}
contentType: 'text/plain'
或者:
datatype: "jsonp"
或者:
username: priv.user
password: priv.password
或者:
beforeSend: function (xhr) {
xhr.setRequestHeader ('Authorization',
"Basic" + Base64.encode( priv.user + ':' + priv.password )
);
}
但我得到的只是远程服务器对我的预检选项
请求的401
授权失败
响应。
问题:
我无权访问远程服务器,但由于它是远程 WebDav 存储即服务,因此应该可以访问我计划存储在那里的文件。有人可以指导我如何正确发出请求来获取我的 JSON 数据(我还需要发布、propfind、删除,但首先要做的事情......)?
谢谢!
最佳答案
想通了。提供商设置不允许使用 webDAV/Ajax/预检/身份验证。
已切换提供商 ( Otixo ) - 现在可以使用了。
关于javascript - 如何向 webDav 存储发出 Ajax/Cors 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317387/