使用原生ajax发送post请求
时间: 2023-02-09 08:06:29 浏览: 135
原生 AJAX 发送 POST 请求的方法如下:
1. 创建 XMLHttpRequest 对象
```
var xhr = new XMLHttpRequest();
```
2. 设置请求的 URL 和请求方法
```
xhr.open('POST', 'your_url', true);
```
3. 设置请求头
```
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
```
4. 设置回调函数
```
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// 请求成功
}
};
```
5. 发送请求
```
xhr.send('your_data');
```
注意,如果要发送的数据是表单数据,需要使用 `URLEncoder.encode` 方法将表单数据编码。
```
xhr.send(URLEncoder.encode('form_data', 'UTF-8'));
```
希望这些内容能够帮到你。
相关问题
原生php ajax post_使用原生ajax发送post请求完整案例
好的,这是一个使用原生 AJAX 发送 POST 请求的完整案例:
HTML 代码:
```
<!DOCTYPE html>
<html>
<head>
<title>使用原生 AJAX 发送 POST 请求</title>
<meta charset="UTF-8">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h1>使用原生 AJAX 发送 POST 请求</h1>
<form>
<label for="name">姓名:</label>
<input type="text" id="name" name="name"><br><br>
<label for="email">邮箱:</label>
<input type="email" id="email" name="email"><br><br>
<button type="button" id="submit">提交</button>
</form>
<div id="result"></div>
<script src="main.js"></script>
</body>
</html>
```
JavaScript 代码:
```
document.getElementById("submit").addEventListener("click", function() {
var name = document.getElementById("name").value;
var email = document.getElementById("email").value;
var xhr = new XMLHttpRequest();
xhr.open("POST", "submit.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.onreadystatechange = function() {
if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
document.getElementById("result").innerHTML = this.responseText;
}
};
xhr.send("name=" + name + "&email=" + email);
});
```
PHP 代码(submit.php):
```
<?php
$name = $_POST["name"];
$email = $_POST["email"];
echo "姓名:" . $name . "<br>邮箱:" . $email;
?>
```
注意:这个案例使用了 jQuery 库,但是只是为了方便引入 Ajax 库。实际上,这个案例并不需要 jQuery。
原生ajax发送post请求
可以使用以下代码发送原生Ajax Post请求:
```javascript
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
var data = JSON.stringify({
"key": "value"
});
xhr.send(data);
```
其中,url是请求的地址,data是请求的数据,需要使用JSON.stringify转换为字符串。在send方法中传入data即可发送Post请求。在设置请求头时,需要指定Content-Type为application/json;charset=UTF-8。当xhr的状态为4且状态码为200时,表示请求成功,可以处理返回的数据。
阅读全文