JavaScript:Ajax说明和代码实例(备忘)

主要的方法和属性:

方法

描述

void abort()

停止当前请求

void open(string method, string url, boolean asynch, string username, string password)

前两个参数必输,后三个参数可选。

method:GET、POST、PUT

url:可以是相对URL或绝对URL

asynch:表示是异步还是同步,默认值为true,表示异步;false表示处理会等待服务器返回相应

username:

password:

void send(content)

若请求是异步的,这个方法立即返回,否则会等待直到接受到响应。参数可以是DOM对象的实例、输入流、或字符串。

void setRequestHeader(string header, string value)

这个方法必须在调用open()之后才能调用

string getAllResponseHeaders()

以字符串的形式返回HTTP响应的所有头

string getResponseHeader(string header)

根据响应头名,获取响应头值

属性

描述

onreadystatechange

每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数

readyState

请求的状态。0=未初始化,1=正在加载,2=已加载,3=交互中,4=完成

responseText

服务器的响应,表示一个字符串。

responseXML

服务器的响应,表示一个DOM对象

status

服务器响应的HTTP状态码(200对应OK,404对应Not Found,等等)

statusText

服务器响应的HTTP状态码的相应文本(OK,Not Found,等等)

 示例代码如下:

<script type="text/javascript">
var xmlHttp;
function getUrl(){
  var url = "";
  return url;
}

function getQueryString(){
  var queryString = "";
  return queryString;
}

function createXMLHttpRequest(){
  if (window.ActiveXObject){
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } else if (window.XMLHttpRequest){
    xmlHttp = new XMLHttpRequest();
  }
}

function doRequestUsingGET(){
  createXMLHttpRequest();

  xmlHttp.onreadystatechange = handleStateChange;
  xmlHttp.open("GET", getUrl() + "?" + getQueryString());
  xmlHttp.send(null);
}

function doRequestUsingPOST(){
  createXMLHttpRequest();

  xmlHttp.onreadystatechange = handleStateChange;
  xmlHttp.open("POST", getUrl());
  xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  xmlHttp.send(getQueryString());
}

function handleStateChange(){
  if(xmlHttp.readyState == 4){
    if(xmlHttp.status == 200){
      parseResult();
    } else if (xmlHttp.status == 0) {
      alert("连接服务器失败");
    }
  }
}

function parseResult(){
  var responseText = xmlHttp.responseText;
  // var responseXML = xmlHttp.responseXML;
}
</script>

参考文档

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值