原生ajax请求时出现xhr.status==0及POST请求无响应问题
用原生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请求无响应问题相关推荐
- vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用
vue 请求时方法执行顺序问题,异步请求无法同时处理多个接口,使用同步顺序执行:async/await使用 异步解决方案:async/await 多个await,同步拿到数据再处理 多个接口处理拿到数 ...
- 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 ...
- 【原生Ajax】全面了解xhr的概念与使用。
✍️ 作者简介: 前端新手学习中.
- ios 发送请求时按home_iOS 10按下Home键能即响应返回桌面了
iPhone 7和iOS 10上线已经有一段时间了,在经过最初的激动与兴奋之后,现在是时候让我们静下心来研究一下在新设备和新系统中,还有什么细微的变化是苹果没有告诉我们的. 最近在论坛中,网xkx61 ...
- 访问网站时,长时间打不开或无响应
之前公司发布的网站,偶尔会出现输入网址后,会等待一分钟或者更长时间才会打开网页 调试之后发现Http请求状态是等待中 当时考虑一个浏览器同时发送http请求数量限制的问题 经过就该排查,跟这个问题无关 ...
- 【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 ...
- php下的原生ajax请求
浏览器中为我们提供了一个JS对象XMLHttpRequet,它可以帮助我们发送HTTP请求,并接受服务端的响应. 意味着我们的浏览器不提交,通过JS就可以请求服务器. ajax(Asynchron ...
- 原生php ajax post_使用原生ajax发送post请求完整案例
搜索热词 使用ajax发送数据实现前后台的交互,我想是web开发最基础的技能了.近来dz开发因为不兼容jquery,所以只能使用原生js发送数据,不想还遇到很多问题.在这里分析总结一下.先来一个使用a ...
- 原生Ajax请求流程:同步请求、异步请求
Ajax 异步无刷新技术 原生Ajax的实现流程 得到XMLHttpRequest对象 - var xhr = new XMLHttpRequest(); 打开请求 - xhr.open(method ...
最新文章
- Day10_linux计划任务管理
- 【Redis学习笔记】2018-07-11 Redis指令学习5
- android 数据库表格数据库数据库中,Android SQLite数据库中的表详解
- SAP Cloud for Customer(C4C)和微信集成系列教程
- ROS2学习(一).Ubuntu 20.04安装ROS2 Galactic
- 腾讯,1000 亿!
- matlab生成HEX文件-任意信号 大于64K长度
- python3数字类型分为_Python初学3——数字类型及操作
- JVM学习笔记(三)------内存管理和垃圾回收【转】
- 算法java人工智能_人工智能用的编程语言是哪些?
- Kotlin 文档入门-函数 集合
- HDFS常用命令(总结)
- JS简单实现图片上一张下一张操作
- 在图像中剪切圆形图片
- 互联网+房地产最后拼什么?除了技术还是技术
- OpenAI 最强对话模型 ChatGPT 注册使用笔记
- 用tushare数据自定义期货大宗商品指数(2)
- ios本地文件内容读取,.json .plist 文件读写
- 4万字【Python高级编程】保姆式教学,Python大厂高频面试题解析
- mini2440 的 leds的驱动程序
热门文章
- UFT Mobile (QTP11.5) 安装及手机插件
- 很久很久以前写的FC/NES 游戏ROM文件管理程序,许久没更新,用得着的试试吧
- 前端js获取当前时间的方法
- Quartus II 18.0 创建 dcfifo IP 核仿真出现问题 Port 'eccstatus' not found 记录和解决方案
- 一道题彻底理解 Pwn Heap Unlink
- Js中数据类型的转换和运算符
- 三维多点连线lisp_Lines Creator v2.0.1 制作三维空间点线连接动画AE脚本
- HCIE 面试资料-BGP/MPLS V`PN
- Python正则表达式re模块和os模块实现文件搜索模式匹配
- 一文讲透『大神修炼心法』!35岁让自己过的越来越好!