我发现了很多在 ASP、PHP 等中检索产品信息的示例,但在没有任何服务器端代码的纯 javascript 中却没有。
只用javascript就可以了吗?是否有任何可用的包装类,甚至只是一些示例代码?
谢谢。
我发现了很多在 ASP、PHP 等中检索产品信息的示例,但在没有任何服务器端代码的纯 javascript 中却没有。
只用javascript就可以了吗?是否有任何可用的包装类,甚至只是一些示例代码?
谢谢。
如其他答案所述,需要向亚马逊 PA-API 发出 CORS 请求。我正在开发一个 chrome 插件,我想在其中获取亚马逊产品并显示它们。所以,我需要为此使用 javascript,但我总是遇到跨域错误。
可能的解决方案是使用由Rob--W开发的CORS-anywhere api
var cors_api_url = 'https://cors-anywhere.herokuapp.com/';
function doCORSRequest(options, printResult) {
var x = new XMLHttpRequest();
x.open(options.method, cors_api_url + options.url);
x.onload = x.onerror = function() {
printResult(
options.method + ' ' + options.url + '\n' +
x.status + ' ' + x.statusText + '\n\n' +
(x.responseText || '')
);
};
x.send(options.data);
}
(function() {
var outputField = document.getElementById('output');
new1();
function new1() {
// e.preventDefault();
doCORSRequest({
method: 'GET',
url: url,
}, function printResult(result) {
//result contains the response
//write your code here
});
};
})();
解决方案代码可以参考我的回答:https ://stackoverflow.com/a/52357243/5743243
我不相信亚马逊提供他们的网络服务的 jsonp 版本,所以直接不可能。如果你真的想这样做,你将不得不使用你的服务器之一作为代理。
这是一个将亚马逊产品 Web 服务包装在 json 或 jsonp 层中的库,并附有示例代码(如果您自己托管它,您可以只进行常规 ajax 调用,当然不需要 jsonp)。
加布是对的。您需要通过代理传递您的请求。
请参阅:此 Web API 未启用 CORS;我该如何使用它?有关其工作原理的示例。
检查这个http://docs.developer.amazonservices.com/en_US/products/index.htm
对于更通用的用例,您可以使用第三方 api,有像 INDIX 这样的公司通过 api 提供结构化产品信息。请点击此处获取详情