我正在尝试编写一个javascript / jquery插件来访问仅使用JSON数据的webDav存储,并且正在努力让它工作。
webDav将是一个远程存储,因此我需要发送跨域ajax请求,并传递身份验证数据。
我尝试了各种版本,但是我总是在preflight
身份验证失败,而我可以直接在浏览器中输入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
请求的远程服务器的authorization failed
preflight options
响应。
问题:
我无法访问远程服务器,但由于它是远程WebDav存储即服务,因此应该可以访问我计划存储在那里的文件。有人可以给我一个关于如何正确地发出请求以获取我的JSON数据的指针(我还需要发布,预先发布,删除,但首先要做的事情......)?
谢谢!