所以我正在为Bigcommerce工作,为客户建立一个网站。由于Bigcommerce不允许在他们的系统上上传PHP文件,所以我在HTML文件的脚本标记中使用AJAX。我使用的API的文档说明在HTTP基本身份验证的用户名字段中使用我的API密钥,并且所有请求都必须通过HTTPS传输。
首先,这是我的代码
$.ajax({
type: 'POST',
url : "https://www.freightview.com/api/v1.0/rates",
data : ({ myRequest }),
dataType : "jsonp",
Accept: 'application/json',
beforeSend : function(xhr) {
xhr.setRequestHeader("Authorization", "Basic " + "MyKey:");
}
})
我试过了
Username : 'mykey'
和其他一些方法把钥匙放在那里,但继续得到
401 Unauthroized
我已经搜索了一些方法来做到这一点并注意到一些可能的问题:
因为你可以看到我认为相对简单的代码片段比我想象的要复杂得多,而且我真的可以使用StackOverflow的一些魔法!
编辑:语法和拼写
答案 0 :(得分:1)
在BigCommerce中,您必须使用Base64对凭据进行编码。
示例:
// Define the string
var string = 'Hello World!';
// Encode the String
var encodedString = btoa(string);
console.log(encodedString); // Outputs: "SGVsbG8gV29ybGQh"
// Decode the String
var decodedString = atob(encodedString);
console.log(decodedString); // Outputs: "Hello World!"