当前位置:编程学习 > JS >>

js ajax XMLHttpRequest与jq $.ajax

xmlhttprequest 对象的方法与属性
 

方    法
描    述
abort()
停止当前请求
getallresponseheaders()
把http请求的所有响应首部作为键/值对返回
getresponseheader("header")
返回指定首部的串值
open("method", "url")
建立对服务器的调用。method参数可以是get、post或put。url参数可以是相对url或绝对url。这个方法还包括3个可选的参数
send(content)
向服务器发送请求
setrequestheader("header", "value")
把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()
  属  性
描    述
onreadystatechange
每个状态改变时都会触发这个事件处理器,通常会调用一个网页特效函数
readystate
请求的状态。有5个可取值:0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成
responsetext
服务器的响应,表示为一个串
respon易做图ml
服务器的响应,表示为xml。这个对象可以解析为一个dom对象
status
服务器的http状态码(200对应ok,404对应not found(未找到),等等)
statustext
http状态码的相应文本(ok或not found(未找到)等等)

<script type="text/javascript">
6 var req;
7         function sendtime() {
8             var url = "ajaxserver.asp教程x";
9             if (window.xmlhttprequest) //非ie浏览器及ie7(7.0及以上版本),用xmlhttprequest对象创建
10             {
11                 req = new xmlhttprequest();
12             }
13             else if (window.activexobject) //ie(6.0及以下版本)浏览器用activexobject对象创建,如果用户浏览器禁用了activex,可能会失败.
14             {
15                 req = new activexobject("microsoft.xmlhttp");
16             }
17             if (req) {
18                 xmlhttp.open("post", url, false);
19                 xmlhttp.onreadystatechange = function () {
20                     if (xmlhttp.readystate == 4) {
21                         if (xmlhttp.status == 200) {
22                             document.getelementbyid("txttime").value = xmlhttp.responsetext;
23                         }
24                         else {
25                             alert('ajax错误');
26                         }
27                     }
28                 }
29                 xmlhttp.send();
30             }
31         }
32
33     </script>
34 </head>
35 <body>
36     <input id="txttime" type="text" /><input id="btn1" type="button" value="ajax" onclick="sendtime()" />
37 </body>
jquery ajax

ajax.request(
url,
{
method:method,
parameters:para,
postbody:xmlstring,
asynchronous:true,
setrequestheader:object,
oncomplete:completefun,
onerror:errorfun
}
)
发送异步请求。(此方法是为兼容 prototype.js 而写,调用风格与 prototype 一致,使用ajax.request此方法请在页面中加载此js文件)

参数
url
必选项。数据发送的目标地址。
method
可选项。数据提交的方式,默认值为get。常用的还有post。
parameters
当 method 为 get 时是可选项,为 post 时是必选项。发送的数据,其形式为: name1=valeu1& name2=value2&name3=value3......
postbody
可选项。客户端发送的 xml 格式字符串。如果启用 postbody,那么 parameters 将被忽略。
asynchronous
可选项。指定请求是否异步,默认为true(异步)。
setrequestheader
指定请求的头部字串。其值类型为“名称值对”形式的对象,比如:{"if-modified-since":"0", "soapaction":"http://tempuri.org/sbs_webservice", ... ... }
oncomplete
可选项。请求成功时执行的回调函数,该函数默认把当前使用 xmlhttp 对象作为第一个参数。
onerror
可选项。请求异常时执行的回调函数,该函数默认把当前使用 xmlhttp 对象作为第一个参数。
返回值
当前使用的 xmlhttp 对象。

描述
发送异步请求,并返回 xmlhttp 对象,该对象内置有 abort() 方法,用于提前终止请求。异步请求成功则执行 oncomplete,失败则执行 onerror 。并返回 xmlhttp 对象。
ajax.request 是个接口完整的 ajax 方法,是 myjsframe 中所有其他 ajax 方法的核心方法。

示例
示例一:
<script type="text/javascript" >
   var myajax = new ajax.request(
        "http://www.zzzyk.com ",
        {
            method:"post",       //表单提交方式
            parameters:"name=acai&age=26&易做图=male",   //提交的表单数据
            setrequestheader:{"if-modified-since":"0"},     //禁止读取缓存数据
            oncomplete:function(x){    //提交成功回调
                    alert(x.responsetext);
            },
            onerror:function(x){          //提交失败回调
                    alert(x.statustext);
            }
        }
   );
</script>


注:parameters 参数若是不列出,我们在开发中对于form 表单这样的数据 可以这样处理

 parameters:form.serialize('formname')   formname  为页面中表单的 id

补充:网页制作,js教程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,