js不能跨域访问,
var request= new XMLHttpRequest();
request.open("Post", "www.google.cn", true);这个语句会报错的。
Http请求的状态。0:未初始化(就是还没调用open());
1:以初始化(已调用open(),但还未调用send());
2:数据发送中(已调用send());
3:数据接收中;
4:数据接收完毕
XMLHttpRequest对象的属性与方法
void open(string method, string url,[bool async],[string user],[string pswd]);
创建一个新的HTTP请求 method:Post 或 Get url:请求的网页地址 async:是否异步调用 默认值:true
user & pswd:用户名和密码,用于请求要求验证的网站
void setRequestHeader(string header, string value);单独指定请求的头部
void send(string data);
发送Http请求到指定的服务器 data:发送的数据,有两种形式:纯文本和XML
string getAllResponseHeaders(); 和 string getResponseHeader(string header);
获取所有/指定的响应的头部
void abort();
终止指定的Http请求
readyState;目前的Http请求的状态。0:未初始化(就是还没调用open());1:以初始化(已调用open(),
但还未调用send());2:数据发送中(已调用send());3:数据接收中;4:数据接收完毕
function onreadystatechange;
有点像C#的代理,就是指定XMLHttpRequest的readyState改变之后调用的函数
string responseText;
以纯文本形式接收的服务器响应
Document responseXML;
以XML形式接收的服务器响应
status; 和 string statusText;
服务器返回的Http状态和状态文本,
就是404:Not Found,502:Bad Gateway,200:OK之类的。
封装XMLRequest
var request = false;
function CreateRequest()
{
try
{
request = new XMLHttpRequest();
}
catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
}