get和post是http请求方法最主要的两种方式。php
post:html
来个例子test.html缓存
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="password" id="password"> <input type="button" value="submit" id="submit"> <div id="txt"></div> <script> //监听对象 document.getElementById('submit').onclick = function(){ var password = document.getElementById('password').value; var url = "index.php?password=" + password; post(url,function(data){ document.getElementById('txt').innerHTML = data; }) } //简单的post封装 function post(url,callback,async){ var xhr = new XMLHttpRequest(); async = async ? async :true; xhr.onreadystatechange = function(){ if(xhr.readyState == 4){ callback(xhr.responseText); } } xhr.open("post",param(url)[0],async); xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded") xhr.send(param(url)[1]); } function param(url){ var arr = url.split("?"); return arr; } </script> </body> </html>
index.phpapp
<?php echo "your password is ".$_POST['password']; ?>
说明一下:post所请求的页面是没法使用缓存,跟get同样的是,post这中请求方式通常也是采用异步。可是还有一个问题没有搞明白,post传递的url中的字符串参数是否须要编码?异步