首页 > 代码库 > ajax-向服务器发送请求

ajax-向服务器发送请求

ajax-向服务器发送请求

1.将请求发送到服务器,使用XMLHttpRequest对象的 open() 和 send() 方法。

    xmlhttp. open(method,url,async) 方法:

    method:请求的类型:get 或者 post;

     url:文件在服务器上的位置(该文件可以是任何类型的文件,比如:.txt,.xml,.asp,.PHP);

    async: true(异步)或 false(同步)
                 注:XMLHttpRequest对象要是用于AJAX,open()方法的值必须设为true

                async=true

                 响应必须处于onreadystatechange()事件就绪状态时执行函数。

             async=fals

                   不要编写onreadystatechange() 函数 ,只要在 open() 之后写 send() 把代码放到其后就好。

   xmlhttp. send(string) 方法:

     string:仅在post请求中使用

2.get请求:

   ①目的是请求资源;

   ②通过URL传递参数;

   ③传递数据大小不能超过2kb;

   ④与post请求相比,get请求更简单更快,大部分情况都能用;

   ⑤通过地址栏发送请求时,只使用get请求。

   实例:

           xmlhttp. open("get",get.asp,true);

          xmlhttp.send();

   注:为防止得到缓存结果,可以向URL中添加一个唯一的ID---->get.asp?t="Math.random()

2.post 请求: 

   ①目的是传递参数;

   ②封装在请求头;

   ③传递数据大小理论上不受限制;

   ④在以下情况最好使用post请求:

        a.无法使用缓存文件(更新服务器上的文件或数据库)     
        b.向服务器发送大量数据    
        c.发送包含未知字符的用户输入时,post更可靠

   ⑤如果要像HTML表单一样使用post,需要在 open() 后使用 setRequestHeader() 来添加HTTP头,然后再 send() 方法中规定要发送对的数据。目的是通知服务器端当前数据已经经过url编码,此时服务器才能接收。

        setRequestHeader(header,value) 方法:

       header:向请求添加HTTP头的名称;

        value:向请求添加HTTP头所规定的

      实例:            

         xmlhttp.open("post","test.asp",true);       xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");       xmlhttp.send("fname=Bill&lname=Gates");

ajax-向服务器发送请求