search

Home  >  Q&A  >  body text

javascript - The error message returned by js when writing a fetch request is unauthorized, is the path splicing error or is the ajax request written incorrectly?

//Manage Credentials
function genManageToken(accessKey, secretKey, pathAndQuery, body) {

var str = pathAndQuery + body;
var hash = CryptoJS.HmacSHA1(str, secretKey);
var encodedSign = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(hash));
return accessKey + ":" + encodedSign;

}
var fetchImg = function(picUrl) {

// 通过fetch进行远程图片抓取 
var accessKey = "AK";
var secretKey = "SK";
var srcUrl = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(picUrl));
var bucket = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse("cloudimg"+":"+(new Date()).getTime()+".jpg"));
var path = "/fetch/" + srcUrl + "/to/" + bucket;
var fetchUrl = "http://iovip.qbox.me" + path;
mui.ajax(fetchUrl, {
    dataType: 'json', //服务器返回json格式数据
    type: 'post', //HTTP请求类型
    timeout: 10000, //超时时间设置为10秒;
    headers: {
        'Content-Type': "application/json",
        'Authorization': "QBox " + genManageToken(accessKey, secretKey, path, "")
    },
    success: function(data) {
        //服务器返回响应,根据响应结果,分析是否登录成功;
        data = JSON.stringify(data);
        data = eval("(" + data + ")");
        //输出响应成功key值
        console.log(data['key']);
    },
    error: function(xhr, type, errorThrown) {
        //异常处理;
        console.log(errorThrown);
    }

});

}
//Introduce the corresponding js calling function into the page
fetchImg("https://www.baidu.com/img/bd_logo1.png");

ringa_leeringa_lee2754 days ago524

reply all(1)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:30:01

    Encoding issue solved

    reply
    0
  • Cancelreply