2015-12-16 19 views
7

私はJavaScriptやWebプログラミング全般について非常に新しいので、これについていくつかの助けが必要です。私はJavaScriptを介して送信する必要があり、出力を変数に格納する必要があるというHTTP要求があります。 ヘッダーパラメータを使用してHTTPリクエストを送信するにはどうすればよいですか?

https://api.fantasydata.net/nfl/v2/JSON/PlayerSeasonStats/2015 

しかし、私は私のAPIキーを送信しませんでしたし、それだけでURLでそれを行う方法を私に示していないので、それは、認証エラーが返されます:私は、コールの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: •••••••••••••••••••••••••••••••• 

私はキーとそれがどのようにJavaScriptで変数として返すJSONドキュメントを保存するとともに、その要求を送信する方法を理解する必要があります。

EDIT:これは私がこれまで持っているものです。

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; 
} 

ありがとうございました!

+0

あなたのコード送信要求はどこですか? – hindmost

+0

申し訳ありません、ただそれを追加しました! –

答えて

2

APIキーがヘッダーとして表示されている場合は、HTTPリクエストのheadersオプションで設定する必要があります。通常、このような何か:はちょうどあなたが変数に応答を保存したかった見た:ここ

headers: {'Authorization': '[your API key]'} 

は別のQuestion

$http({method: 'GET', url: '[the-target-url]', headers: { 
    'Authorization': '[your-api-key]'} 
}); 

編集の例です。この場合、おそらくAJAXを使用します。このような何か:

$.ajax({ 
    type : "GET", 
    url : "[the-target-url]", 
    beforeSend: function(xhr){xhr.setRequestHeader('Authorization', '[your-api-key]');}, 
    success : function(result) { 
     //set your variable to the result 
    }, 
    error : function(result) { 
    //handle the error 
    } 
}); 

私はthis questionからこれを持って、私はので、私は、現時点ではそれをテストすることはできません仕事でだけど

編集2固体になりますかなり確信してあなたができるはずです

headers: {'Authorization': '[your API key]'}, 

の代わりに、最初の編集でbeforeSend行:この行を使用します。これはあなたの方が簡単かもしれません

+0

それは理にかなっていますが、どうすればjavascriptファイルに組み込むことができますか? –

+0

あなたのコメントとして私の答えを編集していました。 JSファイルに情報を取得する必要がある場合は、そのAJAXリクエストを置くことができます。私は個人的に彼ら自身の機能でそれらを持っているのが好きです –

+0

私は今それを試してみましょう! 'beforeSend'を使うのではなく、 –

関連する問題