日期:2014-05-17  浏览次数:20459 次

【【.net中ajax疑惑的问题】】

var url="ajax.ashx?txtinput="+escape(txtInput.value);
  xmlHttp.open("get",url,true); //建立新请求
  xmlHttp.onreadystatechange=updatePage; //指定回调方法
  xmlHttp.send(null);

这url到底是怎么回事儿,纠结了我几天了。这个url是请求当前的自身页面还是新建一个页面或是文件用于
处理请求,然后在返回,
我的那个头儿说这个url是请求当前的自身页面,

如果请求的自身页面 那么我要取返回的值
var strs= xmlHttp.responseText(这句话返回的是整个页面的信息,我怎么去得到我要的数据啊)
如果新建页面的话,(我可以页面中的其他信息去掉,只留返回的值,这么就能取得到,)
大虾们 帮帮忙,这个url到底怎么用,一般.net开发中,url是请求自身还是新建页面,
我是菜鸟,这几天边学ajax边做,


------解决方案--------------------
推荐jquery V5
------解决方案--------------------
Response.Clear();
Response.Write();
Response.End();
------解决方案--------------------
ajax.ashx?txtinput="+escape(txtInput.value);

------------------
假设:txtInput.value的值为1
那么:我觉得你可以大概理解为这个url就是你直接在浏览器的地址栏里输入 http://路径/ajax.ashx?txtinput=1所得到的页面
只不过用了ajax后就不是你直接在地址栏里输入这个地址了,而是xmlhttp去在背后输入这个地址并得到这个地址所返回来的结果(可能字符串或者xml什么的,根据你的ajax.ashx这个页面的返回方法决定),然后在那个回调方法updatePage里你就可以处理这些返回来的结果。
好吧,既然你提到var strs= xmlHttp.responseText。那么说明返回来的是字符串。
要怎么得到你想要的呢,因为不知道你这个字符串的格式,那么我就大胆猜测下是一堆html格式的字符串吧,你可以把这个字符串放到一个html元素里,然后再用js查找你想要的节点,也就是js的dom操作(如果不熟悉可以去看下w3school)。
结论:你把txtinput的值发给ajax.ashx这个页面并得到它返回的结果(为什么发到这里呢,你要是有1.abc啊2.cdf啊什么的页面要是能处理txtinput的值并返回结果也可以发给它们的),然后在回调函数updatePage里根据返回的结果类型来处理这个结果(一般这个处理的过程都是用javascript)