我在向本地主机发出ajax请求时遇到问题http://steamcommunity.com/profiles/ {steamid} / inventory / json / 730/2
问题似乎是他们没有启用CORS标头,所以我必须使用jsonp。由于GET请求返回json,但我的ajax函数期待json -p我收到错误:
Uncaught SyntaxError: Unexpected token :
2?callback=jQuery22005740937136579305_1452887017109&_=1452887017110:1
我需要这个资源,但我不确定如何解决这个问题。我环顾四周,但没有发现任何与此问题相符的内容。有一些网站能够获得特定用户的库存,因此在某些方面它必须是可能的。
我的Ajax电话
$.ajax({
url: "http://steamcommunity.com/profiles/76561198064153275/inventory/json/730/2",
type: 'GET',
dataType: 'jsonp',
success: function(response) {
console.log(response);
if(response.error){
alert(response.error_text);
}else {
console.log("SUCCESS!!");
}
}
});
答案 0 :(得分:1)
我找到了一个解决方法!我正在使用django作为我的Web应用程序,因此我尝试使用请求服务器端。
我通过pip(库:http://docs.python-requests.org/en/latest/)
安装了请求库在我的django应用程序中,我创建了一个可以通过我的AJAX请求调用的视图
def get_steam_inv(request):
user_steam_profile = SteamProfile.objects.get(brokerr_user_id = request.user.id)
r = requests.get("http://steamcommunity.com/profiles/76561198064153275/inventory/json/730/2")
return JsonResponse(r.json())
然后我的ajax请求此视图:
$.ajax({
url: "/ajax_get_steam_inv/",
type: 'GET',
success: function(response) {
console.log(response);
// result = JSON.parse(response);
if (response.error){
alert(response.error_text);
} else {
console.log(response);
}
}
});
现在我有了我需要的数据!