ajax自己的见解

ajax 初步的总结;
创建xmlhttp对象
 var xmlhttp=ActiveXObject("MSXML2.xmlhttp")
创建xml对象
 var oDoc=ActivexObject("MSCMLDOMDocument")
接着是使用xmlhttp.open的方法,其中open的方法有三个参数,第一个参数是请求方式,第二个参数是uri,第三个参数是是否为异步。
 接着使用httpxml的第二个方法,名称为send方法,基本发送回服务器的都是null
接着我们会接受到服务器发送到客户端的数据使用的对象依然是
 result=xmlhttp.responseText;
之后我们会用到odoc这个对象,他有一个loadxml方法,把从服务器上返回来的数据转换成xml
也就是odoc.loadxml(result)
之后我没会找到这个xml的借点返回来的数据,这里当然要用到循环了啊
首先我们先把 var items=odoc.selectnodes("//table");
这就可以知道返回来的table下面的所以借点的值了
for(int i=0;i<items.length-1;i++)
{
   //在这里面可以查到节点下面的值
    var largecontent=items[i].childnodes[0].text;这里是取到xml中的第一个值
}

下面写一个例子给大家看看:
这个例子是无刷新dropdownlist

default1.aspx 为
<asp:Dropdowlist runat="server" id="dropdowlist1"/>
<asp:Dropdowlist runat="server" id="dropdowlist2"/>
页面上就放俩个dropdowlist
接着我就写这个页面的ajax的内容了。
var xmlhttp=ActiveXObject("MSXML2.XMLhttp");
var odoc=ActiveXobject("MSXML2.DOMDocument");
xmlhttp.open(post,"default2.aspx",true);
xmlhttp.send();
reslut=xmlhttp.responseText;
odoc.LoadXml(reslut);
var items=odoc.selectNodes("//Table");
var drop1=document.getelementbyid("dropdowlist1");
//删除所以项
for(int i=10;i<drop1.options.length-1;i++)
{
   drop1.remove(i);
}
for(int i=0;i<items.length;i++)
{
   var largquest=items[i].childnodes[0].text;
   var largquestid=items[i].childnodes[1].text;
   var newoptions=document.CreateElement("OPTION");
    newoptions.text=largquest;
    newoptions.vaule=largquestid;
    drop1.options.add(newoptions);
}

这就完成了一个ajax请求,填充一个dropdownlist
接着我们该看一看后台了,也就是后台代码了
我们是利用System.xml.xmltextwrite xml =new xmltextwrite(response.outputstream,null);这个方法写入前台的
在这之前我们定义一个dateset数据集合
dateset有一个writexml这个方法,我这也是第一次听说 ds.writexml(xml);
然后输出xml.flush();
这样就把他发送到客户端了,最后把这个关闭就ok了。
xml.colse();
response.end();

最后记住一点,当想从cs的代码,写入到客户端脚本时可以这样写,如果说我想把dropdowlist2加入一个change的方法,
我就可以这样写dropdowlist2.attributes.add("change","load1(this.dropdowlist2.options[dropdowlist1.selectindex].value")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值