get请求
<!--html界面--demo1.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TestAjax</title>
<script type="text/javascript">
window.onload=function () {
document.getElementById('username').onblur = function () {
//id为username的元素失焦时触发事件onblur
var name = document.getElementById('username').value;
name=encodeURIComponent(name);
//IE不支持中文 =和&与请求的字符串的关键字相混淆
var req;
if(window.XMLHttpRequest)
req = new XMLHttpRequest();
else
req = new ActiveXObject();
req.open('get','demo1.php?name='+name,true); //get的传参方式
req.onreadystatechange = function () {
if(req.readyState == 4 && req.status == 200){
alert(req.responseText);
//获得字符串形式的响应数据,responseXML则是获取XML型的响应数据 }
};
req.send(); //建立连接
}
}
</script>
</head>
<body>
用户名:<input type="text" name="" id="username">
</body>
</html><?php //php页面--demo1.php print_r($_GET); ?>
post请求
HTML界面 demo2.html
<!--html界面--demo2.html-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>TestAjax</title>
<script type="text/javascript">
window.onload=function () {
document.getElementById('username').onblur = function () {
//id为username的元素失焦时触发事件onblur
var name = document.getElementById('username').value;
name=encodeURIComponent(name);
//这里post传参虽然接受中文,但是仍然会与=&关键字混淆
var req;
if(window.XMLHttpRequest)
req = new XMLHttpRequest();
else
req = new ActiveXObject();
req.open('post','demo2.php',true);
req.onreadystatechange = function () {
if(req.readyState == 4 && req.status == 200){
alert(req.responseText);
//获得字符串形式的响应数据,responseXML则是获取XML型的响应数据 }
}
};
req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
//将传递的参数转成XML格式
req.send('name='+name); //post的传参方式
}
}
</script>
</head>
<body>
用户名:<input type="text" name="" id="username">
</body>
</html>php页面 demo2.php
实例
<?php print_r($_POST); ?>
get请求可以和post请求同时使用
get请求可以被缓存,post请求不可以
get请求有参数长度限制,post请求没有限制
get请求使用更普遍
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号