我试图从我的Chargify测试帐户中检索信息,但我遇到了两个错误:401(在"验证"后消失),然后我得到了404,我不明白,因为它在验证后在我的浏览器上工作。
我不是很擅长网络编码,所以我确信这就是问题所在。我用来尝试从URL获取数据的是:
$.ajax({
type: "GET",
url: "https://testingtests.chargify.com/customers.json",
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization', make_base_auth("someusername", "somepassword"));
},
success: function (response) {
alert(response.d);
},
failure: function (response) {
alert(response.d);
},
})
function make_base_auth(user, password) {
var tok = user + ':' + password;
var hash = btoa(tok);
return 'Basic ' + hash;
}
编辑:我刚刚读到问题似乎是不能进行跨域访问,我必须使用cURL,但我还没有找到任何关于如何使用它的信息。
Chargify目前不支持CORS(没有直接跨域访问),因此如果您希望能够通过JavaScript访问API(通过代理),则需要使用代理(服务器代码)。
代理将是您使用cURL(或任何现有的API包装库)的地方,然后为客户端代码提供一个接口以使其工作。