方法1: XMLHttpRequestを使用する方法
async function postData(url, data) {
try {
const response = await new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
resolve(xhr.responseText);
} else {
reject(xhr.statusText);
}
}
};
xhr.onerror = function () {
reject("Network error");
};
xhr.send(JSON.stringify(data));
});
console.log(response);
} catch (error) {
console.error(error);
}
}
// 使用例:
const url = "https://example.com/api";
const data = { name: "John Doe", age: 25 };
postData(url, data);
方法2: fetch APIを使用する方法
async function postData(url, data) {
try {
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(data)
});
const result = await response.json();
console.log(result);
} catch (error) {
console.error(error);
}
}
// 使用例:
const url = "https://example.com/api";
const data = { name: "John Doe", age: 25 };
postData(url, data);
方法3: axiosライブラリを使用する方法
import axios from "axios";
async function postData(url, data) {
try {
const response = await axios.post(url, data);
console.log(response.data);
} catch (error) {
console.error(error);
}
}
// 使用例:
const url = "https://example.com/api";
const data = { name: "John Doe", age: 25 };
postData(url, data);
これらの方法は、JavaScriptで非同期的にPOSTリクエストを行うための一般的な手法です。選択肢の一つを選んで、必要に応じてコードを調整してください。また、URLやデータなどの詳細を自分の要件に合わせて変更してください。