【发布时间】:2016-06-28 16:19:03
【问题描述】:
我们希望通过 jQuery/AJAX 调用 API 来实现快速搜索结果的最小购买量。我们正在尝试调用 API 但没有得到响应。我们收到以下错误消息:
NetworkError: 401 Unauthorized - https://mystore.mybigcommerce.com/api/v2/products/product_id
以下是我们在 quicksearch.js 文件中添加的代码。
var key = 'API key';
var auth = 'Basic ' + btoa('username:'+key);
var url = 'https://mystore.mybigcommerce.com/api/v2/products/product_id';
$.ajax({
url : url,
method : 'GET',
dataType: "json",
contentType: "application/json; charset=utf-8",
async: false,
crossDomain: true,
beforeSend : function(req) {
req.setRequestHeader('Authorization', auth);
},
success: function(result) {
alert('done');
console.log(result);
},
error: function (request, textStatus, errorThrown) {
console.log(request.responseText);
console.log(textStatus);
console.log(errorThrown);
}
});
谁能指导解决这个错误?
【问题讨论】:
-
API 无法识别您的身份验证令牌。您需要检查您是否正确生成和传递它。
-
您还应该删除
async: false,因为这是难以置信不好的做法。 -
@RoryMcCrossan。谢谢你。我已经删除了“async:false”并重新检查了 Auth。仍然得到同样的错误。 401 错误的描述是:-“跨源请求被阻止:同源策略不允许读取store-zxu7pi.mybigcommerce.com/api/v2/products/86 的远程资源。(原因:CORS 标头“Access-Control-Allow-Origin”缺失)”。能否请您进一步指导?
标签: jquery ajax api e-commerce bigcommerce