ajax的学习总结
1、是一种基于xmlhttp 和异步的Javascripts的更新局部网页的方法。
2、对于所有的IE浏览器都有很好的支持,基于Java语言准则来开发。
对于新旧的IE xmlhttp对象都有很好的 支持,新的是
var variable=new xmlhttpRequest();
注释:xmlhttpRequest()是一种新的接收服务器应答的方法。
旧的的IE xmlhttp对象则是
var variable=new ActiveXObject(“Microsoft.XMLHTTP”);
3、实际情况下实际的IE浏览器要先判断是否支持新的还是旧的浏览器v
则需要来条件判断
var xmlhttp;
if(window.xmlhttprequest)
{
System.out.println(“可以支持新的版本!”);
xmlhttp=new xmhttprequest();
}
else
{
System.out.pritlnln(“只可以旧的IE版本!”)
xmlhttp=new ActiveObject(“Microsoft,XMLHTTP”);
}.
4、如何开始服务器的转发
其实有点像severt的 服务器转发,
来吧,一个简单的实例,
xmlhttp.open(method,demo,async)
其中三个参数分别表示着,method转发方式(post,get),优先于post 方法
demo是一个转发的例子,
true or false表示为是否为异步的转发方式。
xmlhttp.send();
5、当需要改变的div或者class里的内容,这个时候需要一个类似于监听器一样
的任务接收的事件,xmlhttp里有着onreadystatechange()方法,(一个存储函数,)
readyState存有xmlhttpRequest的状态(0-4)从未初始化到响应就绪。
status(200,404)是返回响应服务器是否接收的状态。
6、一个简单的实例
var xmlhttp;
function loadxmldomo(url,one)
{
if(window.XMLHttpRequeset)
{
xmlhttp=new XMLHttpRequest();
System.out.println(“新的xmlhttp方法!”)
}
else
{
xmlhttp=new ActiveXobject(“Microsoft”,“XMLHTTP”);
Ssytem.out.println(“旧的xmlhttp方法!”)
}
xmlhttp.onreadystatechaange=one;
xmlhttp.opeon(“get”,url,true);
xmlhttp.send();
}
function myfunction()
{
loadxmldomo(“你想要更新的url路径”,function()
if(xmlhttp.readystate4&&xmlhttp.status200)
{
document.getElementById(“一个需要更新的div or class”)
.innerHTML=xmlhttp.reponseText;
//以2text的传输方式不需要xml的解析
}
);
}
然后这里是哪个需要局部更新的div or class
这是我原来的样子!!!
7、使用callback函数以一个参数的方式传递给另一个函数
8、来一个的简单的function带参数的方法 Ajax的实现
function one(str)
{
var xmlhttp;
if(str.length0)
{
document.getElementById(“test”).innerHTML="";
return;
}
if(window.XMLHttpRequest)
{
xmhttp=new XMLHttpRequest();
//新的xmlhttp方式
}
if(xmlhttp.readystate4&&xmlhttp.status==200)
{
document.getElementById(“test”).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open(“get”,url?传递参数=要传递的参数,true)
xmlhttp.send();
}
下面就是你要输入的字符串
9、如何获取网页的头部信息(版本,最大支持长度等)
document.getElemnetById(‘p1’).innnerHTML=xmlhttp.xmlhttpResponseHeaders();
10、一个很坑的地方input提交时不要在form表单里,应该是from表单约束住了 ajax的局部刷新。
11、在ajax里面的location.herf和selvert 里面的response不要重复出现,这个估计是ajax和selvert
的返回时间不同,jsp的页面来不及支持。
12、如何判断数组和集合的多样性判断还需要学习,比如isEnmy()是否判断空,Arraylist.indexof(实例化对象)
13、对于ajax的send提交参数时,在多个参数的时候需要(“username=”+username+"&userpass="+userpass)
在这里面最重要的便是+进行参数拼接也就是字符串拼接,在多个参数直接需要&来拼接。