繁体   English   中英

如何向WebDav存储发出Ajax / Cors请求?

[英]How to make an Ajax/Cors request to a webDav storage?

我正在尝试编写一个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 )
    );
  }

但我所收到的只是我的preflight options请求中来自远程服务器的401 authorization failed响应。

题:
我没有访问远程服务器的权限,但是由于它是远程WebDav存储即服务,因此应该可以访问我计划存储在其中的文件。 有人可以给我指点一下如何正确发出获取JSON数据的请求(我还需要发布,支撑,删除,但首先要先做……)?

谢谢!

弄清楚了。 提供程序设置不允许使用webDAV / Ajax / preflight / authentication。

交换提供商( Otixo )-现在可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM