IT兄弟连 JavaWeb教程 使用AJAX发送POST请求并获取响应

POST请求用于向服务器发送应该被保存的数据,所以POST请求自然比GET请求多须要一份须要被保存的数据。那么这些数据应该放在何处呢?毕竟,咱们的open()方法接收的三个参数都没有合适的位置。ajax

答案是须要发送的数据会做为send()方法的参数最终被发往服务器,该数据能够是任意大小,任意类型。服务器

使用Ajax发送POST请求须要使用setRequestHeader()方法设置请求头,代码以下:app

function PostRequest(){函数

    var xhr = null;post

    if(window.XMLHttpRequest){url

         xhr = new XMLHttpRequest();code

    }else{orm

         xhr = new ActiveXObject("Microsoft.XMLHttp");对象

    }回调函数

    xhr.open('post,’/ajax_demo’,true);

    xhr.setRequestHeader('Content-Type’,"application/x-www-form-urlencoded’);

    xhr.onreadystatechange = function(){

         if(xhr.readyState == 4 && xhr.status == 200){

              var data = xhr.responseText;

         }

    }

    xhr.send('username=itxdl;password=123456’);

}

总结:

●  建立XHR对象 var xhr = new XMLHttpRequest()或var xhr = new ActiveXObject ("Microsoft.XMLHttp")。

●  创建HTTP链接 xhr.open('GET’,URL,ASYNC)。

●  设置请求头 xhr.setRequestHeader('Content-Type’,’application/x-www-form-urlencoded’)。

●  给XHR状态绑定一个回调函数 xhr.onreadystatechange = function(){}。

●  在回调函数中判断Ajax的状态是否等于4,HTTP状态码是否等于200,而后编写相应的业务逻辑。

●  发送一个HTTP请求 xhr.send(data);

相关文章
相关标签/搜索