加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

https – 如何使用基本身份验证进行dojo.request.xhr GET请求

发布时间:2020-12-16 21:19:02 所属栏目:百科 来源:网络整理
导读:我看一下 Dojo v.1.9 request/xhr的文档 我找不到包含基本身份验证的示例. 如何以及在何处在Dojo XHR选项中包含用户名和密码? require(["dojo/request/xhr"],function(xhr){ xhr("example.json",{ // Include User and Password options here ? user: "user
我看一下 Dojo v.1.9 request/xhr的文档
我找不到包含基本身份验证的示例.

如何以及在何处在Dojo XHR选项中包含用户名和密码?

require(["dojo/request/xhr"],function(xhr){
  xhr("example.json",{
    // Include User and Password options here ?
    user: "userLogin"
    password: "userPassword"
    handleAs: "json"
  }).then(function(data){
    // Do something with the handled data
  },function(err){
    // Handle the error condition
  },function(evt){
    // Handle a progress event from the request if the
    // browser supports XHR2
  });
});

谢谢.

解决方法

实际上,您应该能够使用options对象中的user和password属性传递用户和密码.

在以前的Dojo版本中,这是有记录的,但现在似乎并非如此.但是,我刚刚测试了它,似乎在URL中添加了用户名和密码,例如:

http://user:password@myUrl/example.json

通常,浏览器应该能够翻译此URL,以便设置请求标头.

您也可以手动设置这些标头,例如使用:

xhr("example.json",{
    headers: {
        "Authorization": "Basic " + base64.encode(toByteArray(user + ":" + pass))
    }
}).then(function(data) {
    // Do something 
});

但是,这需要dojox / encoding / base64模块和以下功能:

var toByteArray = function(str) {
    var bytes = [];
    for (var i = 0; i < str.length; ++i) {
        bytes.push(str.charCodeAt(i));
    }
    return bytes;
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读