Ajax POST请求

POST请求主要用于提交信息,请求的数据会放在HTTP请求包的包体中。因此POST请求的安全性比GET请求要更高,这里的安全性是指不易被别人截取信息,当然,从另一方面来看,POST请求是可以修改服务器资源的,若是在请求中嵌入脚本,也是存在网站被破解的风险,这个又是服务器接收端对请求数据做处理时该考虑的问题了。下面写个简单的POST请求的代码案例:

<html>
<head>
<script type="text/javascript">
function load()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {               //判断是否支持XMLHttpRequest
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)  //请求成功
    {
    document.getElementById("post_txt").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("POST","post.txt",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-post");
xmlhttp.send("user=simple&sex=men");
}
</script>
</head>
<body>

<h2>AJAX POST</h2>
<button type="button" onclick="load()">请求数据</button>
<div id="post_txt"></div>

</body>
</html>

这里的open方法跟上一篇GET请求是一样的,open() 方法的 url 参数是服务器上文件的地址:该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务)。
如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:
向请求添加 HTTP 头的格式说明如下:
setRequestHeader(header,value)
header: 规定头的名称
value: 规定头的值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章