我发现了很多在ASP,PHP等中检索产品信息的例子,但是没有任何服务器端代码的纯javascript中没有。
只用javascript就可以了吗?是否有可用的包装类,甚至只是一些示例代码?
谢谢。
你有没有检查过this article异步抓取JSON?
如其他答案所述,需要向amazon PA-API提出CORS请求。我正在制作一个Chrome插件,我想要获取亚马逊产品并展示它们。所以,我需要使用javascript,但我总是得到跨源错误。
可能的解决方案是使用由CORS-anywhere api开发的Rob--W
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
我不相信亚马逊提供了他们的Web服务的jsonp版本,所以不可能直接。如果您真的想这样做,则必须使用其中一台服务器作为代理。
Here是一个包含json或jsonp层的亚马逊产品Web服务的库,包含示例代码(如果你自己托管它,你可以只做一个常规的ajax调用,当然不需要jsonp)。
加布是对的。您需要通过代理传递您的请求。
请参阅:This web API does not have CORS enabled; how can I use it?,了解其工作原理。
检查这个http://docs.developer.amazonservices.com/en_US/products/index.htm
对于更通用的用例,您可以使用第三方apis,像INDEX这样的公司通过api提供结构化产品信息。请点击此处获取详情