从Java脚本调用api时

此HTTP请求正常工作https://api.pcloud.com/[email protected]&password=xxxx

在下面的代码中,我想通过Java脚本调用

var user='email loggin';
var password='password of pcloud';

function make_base_auth(user, password) {
  var tok = user + ':' + password;
  var hash = btoa(tok);
  return "Basic " + hash;
}

$.ajax
  ({
    type: "GET",
    url: "https://api.pcloud.com/userinfo",
    dataType: 'json',
    async: false,
    data: '{}',
    beforeSend: function (xhr){
        xhr.setRequestHeader('Authorization', make_base_auth(username, password));
    },
    success: function (){
        alert('Working Fine');
    }
});


控制台输出


  XMLHttpRequest无法加载https://api.pcloud.com/userinfo?{}。请求标头字段在飞行前响应中,Access-Control-Allow-Headers不允许进行授权。


是否有人可以提供解决方案或增强代码。

最佳答案

data字段中传递用户名和密码,然后删除“ beforeSend”部分。有关更多信息和示例,您可以签出pCloud Javascript SDK:https://github.com/pCloud/pcloud-sdk-js

这是工作示例(简短一点):

$.getJSON("https://api.pcloud.com/userinfo", {
  username: "***",
  password: "***"
}, function() {
  alert("working fine");
});

关于javascript - 来自Java脚本错误的Pcloud API调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42666575/

10-10 00:51