XMLHttpRequest

时间:2017-08-05 22:04:58

标签: api

初学者,所以请保持温柔。一段时间以来,我一直在尝试使用XMLHttpRequest从Walmart API获取json文件,并始终得到该错误:

  

XMLHttpRequest无法加载   http://api.walmartlabs.com/v1/items?apiKey= {apikey}&安培; UPC = 035000521019。   请求中不存在“Access-Control-Allow-Origin”标头   资源。因此,不允许原点'null'访问。

我正在使用Apache服务器,我在其中将以下代码插入到httpd.conf文件中,特别是为了摆脱Access-Control-Allow-Origin错误。仍然没有。

LoadModule headers_module modules/mod_headers.so

<IfModule mod_headers.c>
# Accept cross-domain requests
Header always set Access-Control-Allow-Origin "*"

请注意,由于显而易见的原因,我不会在此处提供我的API密钥,但在编码时我在网址中插入了Wal Mart给我的API密钥。问题不在沃尔玛方面,因为当我在Chrome中输入网址时,它会获取JSON文件的文本内容。所以...这是我的代码,请帮助,我是无知的。

function ajaxGet(url,callback){
    req = new XMLHttpRequest();
    req.open("GET", url);
    req.addEventListener("load", function (){
        if (req.status>=200 && req.status<400){
            callback(req.responseText);
        } else {
            console.error("Erreur no." + req.status );
        }
    });
    req.send(null);
}

function setHtml(texte){
    var ouin = JSON.parse(texte);
    var product = slashString(ouin.items[0].categoryPath);
    var brand = ouin.items[0].brandName;
    var price = ouin.items[0].salePrice;
    document.getElementById("brand").innerHTML = brand;
    document.getElementById("product").innerHTML = product;
    document.getElementById("price").innerHTML = price;

}

function slashString(texte){
    var n = texte.lastIndexOf("/");
    var texte = texte.slice(n+1, texte.length);
    return texte.toLowerCase();
}

ajaxGet("http://api.walmartlabs.com/v1/items?apiKey={apikey}&upc=035000521019",setHtml);

0 个答案:

没有答案