// 使用 XMLHttpRequest 发起 POST 请求
function postData(url = '', data = {}) {
// 默认情况下,如果 url 或 data 为空,则使用空字符串
return new Promise((resolve, reject) => {
const xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
resolve(xhr.response);
} else {
reject(new Error(`HTTP error! status: ${xhr.status}`));
}
};
xhr.onerror = function() {
reject(new Error('Network Error'));
};
// 将数据转换为 JSON 字符串并发送
xhr.send(JSON.stringify(data));
});
}
// 示例调用
postData('https://example.com/api', { name: 'John', age: 30 })
.then(response => console.log('Success:', response))
.catch(error => console.error('Error:', error));
postData
函数:这是一个封装了 XMLHttpRequest
的函数,用于发起 POST 请求。它接受两个参数:请求的 URL 和要发送的数据对象。Promise
来处理异步操作,以便可以使用 .then()
和 .catch()
方法来处理成功和失败的情况。setRequestHeader
设置 Content-Type
为 application/json
,表示我们将发送 JSON 格式的数据。JSON.stringify
将 JavaScript 对象转换为 JSON 字符串,并通过 send
方法发送给服务器。onload
回调中检查 HTTP 状态码,确保请求成功后解析响应;在 onerror
回调中处理网络错误。postData
并传入一个 URL 和一个包含 name
和 age
属性的对象作为数据。上一篇:js 发送post请求
下一篇:js 字符串包含某个字符串
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站