Ajax
Ajax(Asynchronous JavaScript and XML)是运用JavaScript和可扩展语言(XML)实现浏览器与服务器通信的一种技术。
Ajax发送请求过程 在Ajax中,通过XMLHttpRequest对象实现与服务器端的通信。在不同浏览器中有不同的创建对象方法,但使用方法是相同的。 通过JavaScript建立的代码例子:
var xmlHttpRequest=null; //声明XMLHttpRequest对象
if(window.XMLHttpRequest){
xmlHttpRequest = new XMLHttpRequest();
}
else if(window.ActiveXObject){
try{
xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");//针对IE较新版本建立
}catch(e){
try{
xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");//IE较老版本
}catch(e){}
}
}
在XMLHttpRequest对象创建后,就可以对该对象进行各种不同的操作,从而完成于服务器的通信。
与服务器建立连接的方法:open(string request-type,string url,Boolean asynch,string name,string password)
@request-type:发送请求的类型
@url:要连接服务器的URL
@asynch:异步为true,否则为false;默认true
@username:若需要身份验证,则在此指定用户名
@password:若需要身份验证,在此指定口令
例如:
xmlHttp_request.open("GET","http://www.example.org/some.file",true);
关于URL地址问题 在网上百度了下,发现无论是使用相对地址还是绝对地址发送Ajax请求都是可以的,两者在发送请求时,服务器访问的地址都会转化为绝对地址。 绝对地址与相对地址相比是包含完整的路径,如"http://localhost:8080/ch/test/login.java",有协议类型,主机名等。 相对地址则是由文件名称来在网站页面下搜寻。如"login.java","/test/login.java"。 但是如果使用相对地址的话,一定要填写正确,不然可能导致服务器访问地址是错误的。例如使用"login.java",服务器访问的可能是"http://localhost:8080/ch/test/login.java"。而"/test/login.java",服务器访问的可能是"http://localhost:8080/test/login.java"。最终访问结果不同。