javascript - 如何向 webDav 存储发出 Ajax/Cors 请求?

标签 javascript jquery ajax xmlhttprequest webdav

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

相关文章:

javascript - 在隐藏的 div 中加载 Twitter 关注按钮

jquery 无法更改 ul li 样式

javascript - Jquery 模板不适用于 'each'

php - AJAX响应文本显示

javascript - iron-request 不会提出超过一个请求

javascript - 我们如何向使用 JavaScript 中的 document.createElement() 创建的元素添加焦点等事件?

javascript - 使用 Ag-Grid Enterprise 许可证获取 'ag-grid: Looking for component [agSetColumnFilter] but it wasn' t 找到。”错误

javascript - 暴力破解字符串匹配javascript

jquery - 单击 Accordion 菜单内的链接时,如何在使用新的 html 内容刷新页面后保持 Accordion 菜单打开?

javascript - PhantomJs - 从 page.evaluate + ajax 中获取值(value)(同步版本)