ajax语法

来源:互联网 发布:淘宝差评 编辑:程序博客网 时间:2024/05/16 10:36


ajax用时,选用有ajax的环境,
否则如选用新建网站,web.config中的文件要手动配置
用有ajax的环境,web.config中已配置好,
-------------
ajax:thinking:客户端请求到server,server处理结果后返回到客户端,客户端响应
如onmouse 或oublue等事件只在html控件中有,在asp:服务器控件中没有
只有div:标识的控件用innerText传参,span:innerHtml
post模式,接收时用request.form[].tostring();
get模式:       用Respone.QueryString[]
在Ajax应用程序中,XMLHttpRequest对象负责将用户信息以异步的方式发送到服务器,并接收服务器返回的响应信息和数据。

ajax:核心对象:XMLHttpRequest对象
-----------------------------------------
XMLHttpRequest对象的方法:
void open(str method,string url,bool async)打开一个http对象:method:提交到server的模式post,get
url提交到的页面地址,async:是否为异步请求的方式,应设为true 否则异步请求无从谈起了,没有意义了
void send(string body)//发送内容  调用此方法后,异步请求已发起,设置要在此方法之前设置完,无内容时可设为null,此参数不能不有,否则报错
请求实际上通过一个send()方法调用触发
void setHeader(string header,string value)设置头信息,header:头信息名称value值
setRequestHeader("header", "value"):把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()

string getResponseHeader(string header)此方法得到response后使用  得到某一条头信息的值  header:头信息名称
string getAllResponseHeader()以字符串形式返回所有的头信息
void abort()中止 发出请求后中断此请求
---------------------------------
XMLHttpRequest对象的属性
function Onreadystatechange:指定当readyState属性改变时事件的处理句柄,属性为只读。回调函数
number readyState:返回当前请求的状态,属性为只读。
[
ReadyState返回当前XMLHttp请求的状态,有5种:
0:请求未初始化。
1:请求已经建立。
2:请求已经发送。
3:请求处理中。
4:响应已经完成  实际只用此状态就可,
]
responseBody:将响应信息正文以unsigned byte数组形式返回,属性只读。
responseStream:以Ado Stream对象的形式返回响应信息,属性只读。
-------------------
下面2个都是返回内容,
string responseText:将响应信息以字符串形式返回,属性只读。返回文本  此用的多一些
XmlDocument responseXML:将响应信息转换为XmlDocument对象返回,属性只读。返回一个html对象
------------------------
number Status:返回当前请求的Http状态码。如404=“文件未找到”,200=“成功” 返回response的代码
string statusText:返回当前请求的响应状态行,属性只读。字符串形式的信息如ok表示成功
-----------------------------------------
ajax:页面间相互调用js方法,使其局部刷新
:IE6.0  activex控件Msxml2.XMLHTTP

==========================发送请求

function startRequest() {
 createXMLHttpRequest();
 xmlHttp.onreadystatechange = handleStateChange;
 xmlHttp.open("GET", "Default.aspx", true);
 xmlHttp.send(null);
}
========================创建XMLHttpRequest对象

  var xmlHttp;
function createXMLHttpRequest() {
 if (window.ActiveXObject) {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
 else if (window.XMLHttpRequest) {
  xmlHttp = new XMLHttpRequest();
 }
}

function init()  {    //此方法可适应所有浏览器      
            var xmlHttp = null;
            try{
                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");//创建对象ie6.0:Msxml2.XMLHTTP
            }
            catch(e1) {
                try                {
                    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//创建对象ie5.5:Msxml2.XMLHTTP
                }
                catch(e2)                {
                    xmlHttp = null;
                }
            }
            if ( !xmlHttp && typeof XMLHttpRequest != "undefined" ) {//其他浏览器
                xmlHttp = new XMLHttpRequest();
            }
            return  xmlHttp;
        }

==========================修正ajax Sys未定义错误

<system.web>
  
  <httpHandlers>
   <!--shaocm 20090122 修正ajax Sys未定义错误-->
   <remove verb="*" path="*.asmx"/>
   <add verb="*" path="*.asmx" validate="false" type="Microsoft.Web.Script.Services.ScriptHandlerFactory, Microsoft.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
   <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
   <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
  </httpHandlers>
 </system.web>

原创粉丝点击