js发送http post请求

之前写了get请求,想来post请求页应该很简单,send发送body参数,method换成post即可,写完代码发现根本没有请求,打log页没有任何信息,找了很多资料,没有解决,然后逐句加log查看,终于找到问题,response.status始终是0,我一直监听的是200,改完后可以获取到响应体,
代码:


<html>
<head> 
    <link rel="stylesheet" type="text/css" href="tb.css">

    <script src="https://cdn.staticfile.org/jquery/1.8.3/jquery.min.js">
    script>
    <script src="https://unpkg.com/flyio/dist/fly.min.js">script>
    <meta charset="utf-8"> 

    <h1 align="center" class="biaoti" height="60" >AIoT入库设备信息h1>
    <h2 id="datetime" class="datatime">h2> 
    <script>
        setInterval("document.getElementById('datetime').innerHTML=new Date().toLocaleString();", 1000);
    script>
head>

<body>
    
    

效果图:
js发送http post请求_第1张图片
提交之后弹出alert
js发送http post请求_第2张图片
点击确定后页面刷新

改了一下查询结果展示,点击查询后展示表格,视觉上更和谐美观:
js发送http post请求_第3张图片

上面因为我监听有问题,一直没有收到response,查到别的大佬总结的异步的响应状态,分享下

异步响应状态
在 JavaScript 中,使用 readyState 属性可以实时跟踪异步响应状态。当该属性值发生变化时,会触发 readystatechange 事件,调用绑定的回调函数。readyState 属性值说明如表所示。

readyState属性值
返回值 说明
0 未初始化。表示对象已经建立,但是尚未初始化,尚未调用 open() 方法
1 初始化。表示对象已经建立,尚未调用 send() 方法
2 发送数据。表示 send() 方法已经调用,但是当前的状态及 HTTP 头未知
3 数据传送中。已经接收部分数据,因为响应及 HTTP 头不安全,这时通过 responseBody 和 responseText 获取部分数据会出现错误
4 完成。数据接收完毕,此时可以通过 responseBody 和 responseText 获取完整的响应数据如果 readyState 属性值为 4,则说明响应完毕,那么就可以安全的读取响应的数据。

考虑到各种特殊情况,更安全的方法是同时监测 HTTP 状态码,只有当 HTTP 状态码为 200 时,才说明 HTTP 响应顺利完成。

链接:http://c.biancheng.net/view/5995.html

你可能感兴趣的:(js,js)