Ajaxカスタムヘッダー追加方法
JavaScriptとjQueryでAjaxリクエストにカスタムHTTPヘッダーを追加する方法
JavaScriptやjQueryを使用してAjaxリクエストにカスタムHTTPヘッダーを追加する方法について、日本語で解説します。
JavaScriptでの実装
var xhr = new XMLHttpRequest();
xhr.open('GET', 'your_url', true);
// カスタムヘッダーを追加
xhr.setRequestHeader('Your-Custom-Header', 'Your-Custom-Value');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send();
send()
メソッドでリクエストを送信します。onreadystatechange
イベントハンドラーでリクエストの状態が完了した場合の処理を定義します。setRequestHeader()
メソッドでカスタムヘッダーの名前と値を設定します。open()
メソッドでリクエストのメソッド(GET
など)、URL、非同期かどうか(true
)を指定します。
jQueryでの実装
$.ajax({
url: 'your_url',
type: 'GET',
headers: {
'Your-Custom-Header': 'Your-Custom-Value'
},
success: function(data) {
console.log(data);
}
});
success
コールバック関数でレスポンスを処理します。headers
オプションでカスタムヘッダーを指定します。- jQueryの
$.ajax()
メソッドを使用してリクエストを行います。
カスタムヘッダーの用途
カスタムヘッダーは、サーバー側でリクエストを処理する際に、クライアント側からの情報を追加することができます。例えば、認証トークン、APIキー、ユーザー情報を送信する際に使用されます。
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
// カスタムヘッダーを追加
xhr.setRequestHeader('Authorization', 'Bearer your_access_token');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send();
- リクエストの送信
send()
メソッドでリクエストを送信します。 - カスタムヘッダーの追加
setRequestHeader()
メソッドでカスタムヘッダーの名前(Authorization
)と値(Bearer your_access_token
)を設定します。
$.ajax({
url: 'https://api.example.com/data',
type: 'GET',
headers: {
'Authorization': 'Bearer your_access_token'
},
success: function(data) {
console.log(data);
}
});
- カスタムヘッダーの指定
headers
オプションでカスタムヘッダーを指定します。 - jQueryの$.ajax()メソッド
jQueryの$.ajax()
メソッドを使用してリクエストを行います。
Fetch API
fetch('https://api.example.com/data', {
headers: {
'Authorization': 'Bearer your_access_token'
}
})
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
consol e.error(error);
});
then()
メソッドでレスポンスを処理します。fetch()
メソッドを使用してリクエストを行います。
Axios
axios.get('https://api.example.com/data', {
headers: {
'Authorization': 'Bearer your_access_token'
}
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- Axiosライブラリを使用してリクエストを行います。
jQueryでの代替方法
$.ajaxSettings
$.ajaxSetup({
headers: {
'Authorization': 'Bearer your_access_token'
}
});
$.ajax({
url: 'https://api.example.com/data',
success: function(data) {
console.log(data);
}
});
- すべてのAjaxリクエストに共通のヘッダーが適用されます。
$.ajaxSettings
を使用してデフォルトのヘッダーを設定します。
javascript jquery ajax