用原生ajax请求时发现xhr.status == 0,于是找了好久,竟然发现是绑定事件的元素不是我点击的元素。参考以下资源

AJAX问题之XMLHttpRequest status = 0

xhr.status状态码

1、If the state is UNSENT or OPENED, return 0.(如果状态是UNSENT或者OPENED,返回0)
  2、If the error flag is set, return 0.(如果错误标签被设置,返回0)
  3、Return the HTTP status code.(返回HTTP状态码)

POST请求无响应

POST请求函数如下:

function post(url, data){var req = createXMLHTTPRequest();if(req){//post请求需要添加请求头,否则会报错req.setRequestHeader("Content-type","application/x-www-form-urlencoded");req.open("POST", url, true);//发送请求req.onreadystatechange = function(){//判断是否服务器响应if(req.readyState == 4 && req.status == 200)requestSuccess();}req.send(data);}
}

把req.setRequestHeader("Content-type","application/x-www-form-urlencoded");注释掉反而可以请求,而添加了这句就不可以,我怀疑是<a>标签不适用这种请求头,于是查了content-type的这种类型及说明:HTTP中application/x-www-form-urlencoded字符说明 还是没能解决问题。于是我仔细的对照网上的POST请求,发现应该先open,再setRequestHeader

req.open("POST", url, true);
req.setRequestHeader("Content-type","application/x-www-form-urlencoded");

参考:

原生js的ajax请求:最初看的,后来发现里面的POST请求头和open()位置写颠倒了

原生ajax与jQuery ajax的比较

AJAX简单使用介绍

ajax获取servlet发送的数据

原生js实现Ajax

生Ajax书写

HTTP中application/x-www-form-urlencoded字符说明

关于错误总结:

1.get和post提交到servlet是分别由get和post处理,看看是不是servlet的get方法或者post方法没有设置好

2.是不是点击事件并步对应到绑定点击事件的元素

3.是否POST顺序设置有问题,先open(),再设置消息头

原生ajax请求时出现xhr.status==0及POST请求无响应问题相关推荐

  1. vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用

    vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用 异步解决方案:async/await 多个await,同步拿到数据再处理 多个接口处理拿到数 ...

  2. Vue向后端发生请求时出现xhr.js?ec6c:177 GET http://localhost:8989/vue/user/findOne?id=9 net::ERR_CONNECTION_REF

    xhr.js?ec6c:177 GET http://localhost:8989/vue/user/findOne?id=9 net::ERR_CONNECTION_REFUSED Uncaught ...

  3. 【原生Ajax】全面了解xhr的概念与使用。

    ✍️ 作者简介: 前端新手学习中.

  4. ios 发送请求时按home_iOS 10按下Home键能即响应返回桌面了

    iPhone 7和iOS 10上线已经有一段时间了,在经过最初的激动与兴奋之后,现在是时候让我们静下心来研究一下在新设备和新系统中,还有什么细微的变化是苹果没有告诉我们的. 最近在论坛中,网xkx61 ...

  5. 访问网站时,长时间打不开或无响应

    之前公司发布的网站,偶尔会出现输入网址后,会等待一分钟或者更长时间才会打开网页 调试之后发现Http请求状态是等待中 当时考虑一个浏览器同时发送http请求数量限制的问题 经过就该排查,跟这个问题无关 ...

  6. 【AJAX 笔记】AJAX 基本、HTTP 基本、原生 AJAX 的使用,jQuery / Axios / fetch 发送请求、跨域(JSONP/CORS)

    文章目录 1 Ajax 概述 1.1 AJAX 简介 1.2 XML 简介 1.3 AJAX 的特点 1.3.1 AJAX 的优点 1.3.2 AJAX 的缺点 1.4 AJAX 属性和方法 2. H ...

  7. php下的原生ajax请求

    浏览器中为我们提供了一个JS对象XMLHttpRequet,它可以帮助我们发送HTTP请求,并接受服务端的响应. 意味着我们的浏览器不提交,通过JS就可以请求服务器.   ajax(Asynchron ...

  8. 原生php ajax post_使用原生ajax发送post请求完整案例

    搜索热词 使用ajax发送数据实现前后台的交互,我想是web开发最基础的技能了.近来dz开发因为不兼容jquery,所以只能使用原生js发送数据,不想还遇到很多问题.在这里分析总结一下.先来一个使用a ...

  9. 原生Ajax请求流程:同步请求、异步请求

    Ajax 异步无刷新技术 原生Ajax的实现流程 得到XMLHttpRequest对象 - var xhr = new XMLHttpRequest(); 打开请求 - xhr.open(method ...

最新文章

  1. Day10_linux计划任务管理
  2. 【Redis学习笔记】2018-07-11 Redis指令学习5
  3. android 数据库表格数据库数据库中,Android SQLite数据库中的表详解
  4. SAP Cloud for Customer(C4C)和微信集成系列教程
  5. ROS2学习(一).Ubuntu 20.04安装ROS2 Galactic
  6. 腾讯,1000 亿!
  7. matlab生成HEX文件-任意信号 大于64K长度
  8. python3数字类型分为_Python初学3——数字类型及操作
  9. JVM学习笔记(三)------内存管理和垃圾回收【转】
  10. 算法java人工智能_人工智能用的编程语言是哪些?
  11. Kotlin 文档入门-函数 集合
  12. HDFS常用命令(总结)
  13. JS简单实现图片上一张下一张操作
  14. 在图像中剪切圆形图片
  15. 互联网+房地产最后拼什么?除了技术还是技术
  16. OpenAI 最强对话模型 ChatGPT 注册使用笔记
  17. 用tushare数据自定义期货大宗商品指数(2)
  18. ios本地文件内容读取,.json .plist 文件读写
  19. 4万字【Python高级编程】保姆式教学,Python大厂高频面试题解析
  20. mini2440 的 leds的驱动程序

热门文章

  1. UFT Mobile (QTP11.5) 安装及手机插件
  2. 很久很久以前写的FC/NES 游戏ROM文件管理程序,许久没更新,用得着的试试吧
  3. 前端js获取当前时间的方法
  4. Quartus II 18.0 创建 dcfifo IP 核仿真出现问题 Port 'eccstatus' not found 记录和解决方案
  5. 一道题彻底理解 Pwn Heap Unlink
  6. Js中数据类型的转换和运算符
  7. 三维多点连线lisp_Lines Creator v2.0.1 制作三维空间点线连接动画AE脚本
  8. HCIE 面试资料-BGP/MPLS V`PN
  9. Python正则表达式re模块和os模块实现文件搜索模式匹配
  10. 一文讲透『大神修炼心法』!35岁让自己过的越来越好!