XMLHttpRequest 发 Post 请求

1.例子
参考:https://blog.csdn.net/owen_william/article/details/51337973

2.FormData 和 Payload
使用XMLHttpRequest时,直接在send 函数中写字符串,和 使用formData是不同的

function send(userid,name,node,href,asyn) {
    var xmlhttp=new XMLHttpRequest();
    var url=url_ban;
    
    直接send字符串或者json串,F12 中会显示请求格式为Payload
    //var content=JSON.stringify({"people":userid,"ck":ck});
    //var content="people="+userid+"&ck="+ck
    //xmlhttp.send(content);
    
    //使用FormData
    var fd = new FormData();
    fd.append("people",userid);
    fd.append("ck",ck);
    xmlhttp.open("POST",url,asyn); //第三个参数是同步异步,主线程只能异步
    xmlHttp.withCredentials = true; // 默认不携带cookie,要把withCredentials 设为true,才会带cookie
    //xhr.setRequestHeader("Content-Type", "application/json");
    xmlhttp.send(fd);
}

3.请求是异步时,可以加回调函数
函数中,可以查看请求当前的状态,比如这样:

xmlhttp.onreadystatechange=function(){
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200 ) {
        unban(userid,name,node,asyn);
    }
};

这个函数在每次状态改变是都被会调用。
状态的说明:1

状态名称描述
0Uninitialized初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。
1Openopen() 方法已调用,但是 send() 方法未调用。请求还没有被发送。
2SentSend() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。
3Receiving所有响应头部都已经接收到。响应体开始接收但未完成。
4LoadedHTTP 响应已经完全接收。

参考:(这两篇都不太好,将就看吧)
https://blog.csdn.net/u010216786/article/details/53168079
https://www.cnblogs.com/darkterror/p/6555594.html


  1. http://www.w3school.com.cn/xmldom/dom_http.asp ↩︎

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值