我对javascript和网页编程很陌生,我需要一些帮助。我有一个HTTP请求,我需要通过javascript发送,并需要将输出存储在一个变量中。我尝试只使用调用url:
https://api.fantasydata.net/nfl/v2/JSON/PlayerSeasonStats/2015
但是它返回了一个验证错误,因为我没有发送我的API密钥,而且它没有告诉我如何在URL中执行此操作。API密钥被列为头而不是参数,我不确定该如何处理它。我尝试使用XMLHttpRequest()类,但我不太确定我是否确切了解它的功能,也无法使其工作。
实际的HTTP请求
GET https://api.fantasydata.net/nfl/v2/JSON/PlayerSeasonStats/2015 HTTP/1.1
Host: api.fantasydata.net
Ocp-Apim-Subscription-Key: ••••••••••••••••••••••••••••••••
我只需要弄清楚如何将请求与密钥一起发送,以及如何将它返回的JSON文档作为变量存储在JavaScript中。
编辑:这是我到目前为止所拥有的:
function testingAPI(){
var key = "8a1c6a354c884c658ff29a8636fd7c18";
httpGet("https://api.fantasydata.net/nfl/v2/JSON/PlayerSeasonStats/2015",key );
alert(xmlHttp.responseText);
var x = 0;
}
function httpGet(theUrl,key)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false ); // false for synchronous request
xmlHttp.setRequestHeader("Ocp-Apim-Subscription-Key",key);
xmlHttp.send( null );
return xmlHttp.responseText;
}
谢谢大家!
3条答案
按热度按时间mwyxok5s1#
如果它说API密钥被列为一个头文件,你很可能需要在http请求的
headers
选项中设置它。下面是另一个Question的示例
**编辑:**刚刚看到你想把响应存储在一个变量中。在这种情况下,我可能只会使用 AJAX 。类似这样:
我从this question得到这个,我正在工作,所以现在不能测试,但是看起来很可靠
**编辑2:**非常确定您应该能够使用这一行:
而不是第一次编辑中的
beforeSend
行。这对您来说可能更简单7uzetpgm2#
使用您自己的代码和不使用jQuery的轻微更改,
"谢谢你"
r6hnlfcb3#
你需要有一个
send();语句。
这样您就可以将请求发送到站点服务器。
`**