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

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

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

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

function PostRequest(){

    var xhr = null;

    if(window.XMLHttpRequest){

         xhr = new XMLHttpRequest();

    }else{

         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);

转载于:https://my.oschina.net/u/4125915/blog/3058046

猜你喜欢

转载自blog.csdn.net/weixin_34199405/article/details/92427916