1

我发现了很多在 ASP、PHP 等中检索产品信息的示例,但在没有任何服务器端代码的纯 javascript 中却没有。

只用javascript就可以了吗?是否有任何可用的包装类,甚至只是一些示例代码?

谢谢。

4

4 回答 4

1

如其他答案所述,需要向亚马逊 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

于 2018-09-17T12:49:47.203 回答
0

我不相信亚马逊提供他们的网络服务的 jsonp 版本,所以直接不可能。如果你真的想这样做,你将不得不使用你的服务器之一作为代理。

是一个将亚马逊产品 Web 服务包装在 json 或 jsonp 层中的库,并附有示例代码(如果您自己托管它,您可以只进行常规 ajax 调用,当然不需要 jsonp)。

于 2011-05-03T16:41:39.363 回答
0

加布是对的。您需要通过代理传递您的请求。

请参阅:此 Web API 未启用 CORS;我该如何使用它?有关其工作原理的示例。

于 2015-03-31T19:52:56.257 回答
0

检查这个http://docs.developer.amazonservices.com/en_US/products/index.htm

对于更通用的用例,您可以使用第三方 api,有像 INDIX 这样的公司通过 api 提供结构化产品信息。请点击此处获取详情

https://developer.indix.com/docs#/reference/product-search

https://github.com/indix/indix-api-nodejs

于 2017-01-25T10:45:33.847 回答