ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
一、问题描述
今天在django中调用ajax时,报错了:
Exception happened during processing of request from ('127.0.0.1', 7160)
Traceback (most recent call last):File "E:\DevelopSoftware\Anaconda3\envs\mxonline\lib\socketserver.py", line 650, in process_request_threadself.finish_request(request, client_address)File "E:\DevelopSoftware\Anaconda3\envs\mxonline\lib\socketserver.py", line 360, in finish_requestself.RequestHandlerClass(request, client_address, self)File "E:\DevelopSoftware\Anaconda3\envs\mxonline\lib\socketserver.py", line 720, in __init__self.handle()File "E:\DevelopSoftware\Anaconda3\envs\mxonline\lib\site-packages\django\core\servers\basehttp.py", line 153, in handleself.handle_one_request()File "E:\DevelopSoftware\Anaconda3\envs\mxonline\lib\site-packages\django\core\servers\basehttp.py", line 161, in handle_one_requestself.raw_requestline = self.rfile.readline(65537)File "E:\DevelopSoftware\Anaconda3\envs\mxonline\lib\socket.py", line 589, in readintoreturn self._sock.recv_into(b)
ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。
ajax就是普通的jquery中的ajax:
var my_email = {"email":email};
$.ajax({type: "POST",contentType: "application/json; charset=utf-8",headers: { "X-CSRFToken": token_csrf },url: "/myemail/",dataType: "json",cache: false,data: JSON.stringify(my_email),async : true,timeout: 5000,error: function (data) {alert("服务器错误!邮件发送失败!");},success: function (data) {if (null != data && "" != data) {if(data.status == "1"){alert("邮件发送成功,请查收!");}else{alert("邮件发送错误!")}}}
});
二、处理
平时这么写也没报错,今天这样写怎么就报错了,我就纳了闷了。网上查了半天,说是要把异步改成同步,也就是把ajax中的 async:true 改成 async:false。
改了以后发现确实不报错了,但又出现一个比较严重的问题是,使用同步后因为ajax要等后端返回数据,而我后端因为要调用发送邮件的函数,处理的比较慢,因此前端就一直处于假死的状态。因此这样改对于我来说还是不能接受的。
然后又查了很多资料,说是使用$.Deferred(); 以及 async/await 异步请求等待返回数据。但是我尝试后,发现一中的问题又双叒出现了!又给我报错了。
三、转机
然后感谢这篇文章:https://www.bbsmax.com/A/ZOJPmXOe5v/
突然明白为什么会报这个错了,是因为我网页刷新导致ajax和服务器的连接断开了!而为什么我的网页会刷新呢?
因为我把这个ajax请求绑在了一个超链接a标签上,
<a href="{% url 'resume:download' %}" class="btn-rounded-white" onclick="disp_prompt()">下载我的简历</a>
由于异步的原因,ajax在等待后端返回数据的时候,浏览器会继续往下执行跳转a的超链接的操作,然后就会导致ajax与后端的连接断开!于是把a标签改成button标签,问题解决!!
另外,参考:https://blog.csdn.net/BobYuan888/article/details/107871596
button的type有三种:button、reset、submit,如果没写type,默认type不是你以为的“button”,而是“submit”,“submit”,“submit”!!!页面也会被被刷新,因此不要省略type的类型。
我这个报错也算是个个例,不具有普遍性,如果你们不是因为这个原因,那建议你们还是朝第二步的方向去解决。
就写到这吧。
ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。相关推荐
- 使用selenium 驱动最新火狐浏览器出错:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。...
今天改selenium的脚本希望他兼容火狐浏览器,但是一直报一个错 ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接. sele ...
- ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接
这个问题是python socket 发送数据的时候报错的, 我遇到问题的原因,是客户端是发送了10次请求, 遇到这个问题的原因socket 多次请求的时候出现的这个问题 自己在客户端for循环发送了 ...
- Django报错:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。...
ajax请求时加上 async : false, $.ajax({url:"{% url 'article:article_post' %}",{#一定不要写成小写了,坑了好久#} ...
- 解决ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接
在利用matplotlib画图的时候突然报错: 报错代码: import matplotlib.pyplot as plt import seaborn as snstrain_data_file = ...
- python 10053_python 写的selenium脚本不能循环,循环时会报 [WinError 10053] 你的主机中的软件中止了一个已建立的连接。错误,求大佬解答下...
用python写了一段自动化脚本,在循环的时候报ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接.错误,第一次执行没有问题,就是 ...
- 令人头秃的:你的主机中的软件中止了一个已建立的连接
此文章来源于项目官方公众号:"AirtestProject" 版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 1. 前言 最近在答疑群中,经常看到同学们遇到 你 ...
- AndroidStudio_你的主机中的软件中止了一个已建立的连接---Android原生开发工作笔记123
你的主机中的软件中止了一个已建立的连接,如果你也在把android 的app,运行在物理机的时候报这个错,我去...来看看吧 查了很多,网上的...最后发现,只要你是win10操作系统,你把 移动WI ...
- java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
Could not complete request org.apache.catalina.connector.ClientAbortException: java.io.IOException: ...
- java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
日志如下,背景是开了几百给连接同时向服务器发送消息,跑了一两天报的错,服务器那边没有报错,是放在tomcat里运行的,但是重新启动客户端无法连接服务器了 ,服务器貌似停了.请问一下是什么原因 是服务器 ...
- 您的主机中的软件中止了一个已建立的连接。
本文转载自: https://www.cnblogs.com/mistor/archive/2012/02/16/2353742.html 作者:mistor 转载请注明该声明. 我这个错误是ASP. ...
最新文章
- JavaBean组件的基本使用-语法
- centos 7 python2.7.5升级到3.5.2
- sqlserver 穷举 排列 组合
- 在linux中查看端口信息,怎样在 Linux 上查看某个端口的相关信息?
- git bash解决中文乱码问题
- Python实训day01pm【练习题、文件编写、列表的使用】
- 人工智能中的局部搜索算法
- ActiveXObject 安装
- 不是bug!百度集好运卡奖品追加8000个金猪
- python 替换重复字符_python – 替换Pandas中的列之间的重复值
- securecrt批量登录linux,SecureCRT批量配置使用会话key
- 二分类模型评估之 ROC曲线和PR曲线
- [计算机数值分析]拉格朗日插值公式
- 备忘录形成html乱码,浏览器icloud网页版备忘录乱码不能显示中文汉字-企业网站设计之中的字体坑...
- OFFICE、EXCEL、WORD、PPT操作技巧个人笔记本(持续更新)
- 易基因2022年度DNA甲基化研究高分项目文章精选
- matlab 场仿真,利用MATLAB软件实现温度场的仿真
- 游戏人物装备技能数据表怎么设计(整理)
- 拼音魔法-华东师范大学程序设计竞赛-ecnu3256
- 使用Java蓝牙无线通讯技术API
热门文章
- c语言中primesum函数,c语言之函数
- C++-线程的join和detach
- 视频编码解码(H264中的profile和level)
- 使用UpdateLayeredWindow有概率出现317错误解决方法
- 网络在线播放ASF格式流媒体文件的制作(转)
- C#winform【获取文件路径--遍历文件夹图片】--实战练习六
- 英语知识系列:单词中元音字母发音规律
- 测试老鸟分享:掌握2项技能,轻松拿到软件测试工程师offer...
- 《壁纸 : 手机高清壁纸大全》EULA条款协议
- 计算机新手必学基础知识,5分钟带你全面了解电脑,新手入门必备知识,值得收藏!...