原生javascript实现ajax 发送post请求
时间: 2023-09-25 07:10:30 浏览: 95
好的,以下是原生JavaScript实现ajax发送post请求的示例代码:
```javascript
let xhr = new XMLHttpRequest();
xhr.open('POST', '/api', true);
xhr.setRequestHeader('Content-type', 'application/json');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
}
xhr.send(JSON.stringify({
name: 'John',
age: 28,
}));
```
在这个例子中,我们使用了XMLHttpRequest对象进行ajax请求的发送。首先使用`open()`方法指定请求类型、URL和async参数;然后使用`setRequestHeader()`方法设置请求头;接着指定`onreadystatechange`回调函数处理请求响应;最后使用`send()`方法发送请求体数据。在本例中,我们使用了JSON.stringify方法将一个包含name和age属性的JavaScript对象转换为JSON字符串,作为请求体发送给服务器。
相关问题
原生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时,表示请求成功,可以处理返回的数据。
原生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。
阅读全文