Fetch。
<script>
// 使用jQuery发起POST请求
$.ajax({
url: 'https://example.com/api/endpoint',
method: 'POST',
contentType: 'text/json;charset=utf-8', // 请求头的Content-Type 如 application/x-www-form-urlencoded
data: {
key1: 'value1',
key2: 'value2'
}, // 要发送的表单数据
success: function(data) {
// 成功回调函数,处理返回的数据
console.log('Response:', data);
},
error: function(xhr, status, error) {
// 失败回调函数,处理请求失败的情况
console.error('Error:', status, error);
}
});
</script>
<script>
$.ajax({
type: "get",
async: true,
url: "https://example.com/ajax/xxx",
dataType: "json",
beforeSend : function () {
...
},
success : function(data) {
...
},
error : function(err_msg) {
...
}
});
</script>
fetch 是一个在浏览器中提供的用于发起网络请求的 API,它是基于 Promise 的,并且提供了一种更简洁和强大的方式来进行 HTTP 请求,相比传统的 XMLHttpRequest。
fetch('https://api.example.com/data')
.then(response => {
// 处理响应
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json(); // 解析响应体为 JSON
})
.then(data => {
// 处理解析后的数据
console.log(data);
})
.catch(error => {
// 处理错误
console.error('There has been a problem with your fetch operation:', error);
});
Fetch API GET 方式:
async function getData() {
const url = "https://example.org/products.json";
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`Response status: ${response.status}`);
}
const json = await response.json();
console.log(json);
} catch (error) {
console.error(error.message);
}
}
Fetch API POST 方式:
const response = await fetch("https://example.org/post", {
method: "POST",
body: JSON.stringify({ username: "example" }),
// ...
});
const response = await fetch("https://example.org/post", {
method: "POST",
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
// Automatically converted to "username=example&password=password"
body: new URLSearchParams({ username: "example", password: "password" }),
// ...
});