XMLHttpRequest 六个方法六个属性
function:
open(methiod,url[,async,username,password])
setRequestHeader(label,value);
send(content);
getAllResponseHeaders();
getResponseHeader(label);
abort();
attribute:
onreadystatechange
readyState
responseText
responseXML
status
statusText
var xmlhttp = new XMLHttpRequest();
post:
var url ="The url you want to send your request to";
var arg = The args you want to send to the server such as 'a=1';
xmlhttp.open("post",url,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.onreadystatechange = "The function you want to call when the request is responsed";
xmlhttp.send(arg);
get:
var url ="The url you want to send your request to"+'?xxx=xxx&aaa=aaa';
xmlhttp.open("get",url,true);
xmlhttp.onreadystatechange = "The function you want to call when the request is responsed such as 'callback'";
xmlhttp.send(null);
Ajax中接收返回json数据格式
[{'value':'settle','title':'spkane'},{'value':'settle2','title':'spkane2'}]
function callback{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
//And usually this code is in the function you have added to the onreadystatechange;
Every thing is Ok,do what you want to do here;
try{
eval("var response =("+xmlhttp.responseText+")");
var sel = document.getElementById("cities");
var name = value = nulll;
for(var i = 0; i<response.length; i++){
name = response[i].title;
value = response[i].value;
document.forms[0].elements[1].options[i] = new Option(name,value);//set the select options or do anything you want to do
}
}catch(e){
alert(e.message);
}
}else{
document.getElementById("cities").innerHTML="Error:No cities";
}
}
Ajax中接收返回xml数据格式
<city><value>settle</value><title>spkane</title><value>settle2</value><title>spkane2</title></city>
function callback{
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
//And usually this code is in the function you have added to the onreadystatechange;
//Every thing is Ok,do what you want to do here;
try{
var citynodes = xmlhttp.responseXML.getElementsByTagName("city");
for(var i = 0; i < citynodes[i].childNodes.length;j++){
var name = value = null;
for(var j = 0; j<citynodes[i].childNodes.length; j++){
var elem = citynodes[i].childNodes[j].nodeName;
var nodevalue = citynodes[i].childNodes[j].firstChild.nodeValue;
if(elem == "value"){
value = nodevalue;
}else{
name = nodevalue;
}
}
document.forms[0].elements[1].options[i] = new Option(name,value);
}
}catch(e){
alert(e.message);
}
}else{
document.getElementById("cities").innerHTML="Error:No cities";
}
}
xxxxxxxx