javascript - js寫fetch請求返回錯誤信息為未授權,path拼接錯誤還是ajax請求寫錯了?
問題描述
//管理憑證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); }});
}//在頁面引入相應js調用函數fetchImg('https://www.baidu.com/img/bd_logo1.png');
問題解答
回答1:編碼問題已解決
