您的位置:首页 > 理论基础 > 计算机网络

ajax-向服务器发送请求

2016-10-04 16:53 197 查看
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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息