繁体   English   中英

jQuery json错误,当我想从Steam市场获取json时

[英]jquery json error, when i want to get json from steam market


我对Steam的ajax请求有问题。 我想从蒸汽市场上获取价格。

function jPrice(httpToJson) {
    $.getJSON(httpToJson, function(data) {
        return data.median_price;
    });
}

当我调用函数

jPrice('http://steamcommunity.com/market/priceoverview/?country=US&currency=1&appid=730&market_hash_name=StatTrak%E2%84%A2%20P250%20%7C%20Steel%20Disruption%20%28Factory%20New%29');

我收到一个错误:

XMLHttpRequest无法加载http://steamcommunity.com/market/priceoverview/?country=US&currency=1&appid=730&market_hash_name=StatTrak%E2%84%A2%20P250%20%7C%20Steel%20Disruption%20%28Factory%20New%29 所请求的资源上没有“ Access-Control-Allow-Origin”标头。 因此,不允许访问来源“ http://lоcalhоst:63342”。

我尝试:

  • 将php标头Access-Control-Allow-Origin设置为*
  • JSONP

结果->同一件事(错误)!

也许有人知道该问题的解决方案?

通过将标头Access-Control-Allow-Origin设置为*或发送JSONP请求,都将无法通过直接针对steamcommunity.com发出的ajax请求在浏览器中获得结果。

为此,steamcommunity.com应该在响应中添加CORS标头(您所看到的错误消息意味着它们不存在),或将输出格式化为JSON-P 他们也没有。

这是浏览器的限制,不允许通过ajax加载其他来源的内容。 您需要做的是引入一个中间件,因此让您的后端服务器对steamcommunity.com发出请求并返回相同的响应,然后对您的服务器进行ajax调用。 这将起作用,您的后端正在发送请求,并且由于它不是浏览器请求,因此响应将到达,因为您的ajax调用是针对同一域发出的,所以它也将获得响应

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM