一、问题描述

今天在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] 你的主机中的软件中止了一个已建立的连接。相关推荐

  1. 使用selenium 驱动最新火狐浏览器出错:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。...

    今天改selenium的脚本希望他兼容火狐浏览器,但是一直报一个错 ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接. sele ...

  2. ConnectionAbortedError: [WinError 10053] 您的主机中的软件中止了一个已建立的连接

    这个问题是python socket 发送数据的时候报错的, 我遇到问题的原因,是客户端是发送了10次请求, 遇到这个问题的原因socket 多次请求的时候出现的这个问题 自己在客户端for循环发送了 ...

  3. Django报错:ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接。...

    ajax请求时加上 async : false, $.ajax({url:"{% url 'article:article_post' %}",{#一定不要写成小写了,坑了好久#} ...

  4. 解决ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接

    在利用matplotlib画图的时候突然报错: 报错代码: import matplotlib.pyplot as plt import seaborn as snstrain_data_file = ...

  5. python 10053_python 写的selenium脚本不能循环,循环时会报 [WinError 10053] 你的主机中的软件中止了一个已建立的连接。错误,求大佬解答下...

    用python写了一段自动化脚本,在循环的时候报ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接.错误,第一次执行没有问题,就是 ...

  6. 令人头秃的:你的主机中的软件中止了一个已建立的连接

    此文章来源于项目官方公众号:"AirtestProject" 版权声明:允许转载,但转载必须保留原链接:请勿用作商业或者非法用途 1. 前言 最近在答疑群中,经常看到同学们遇到 你 ...

  7. AndroidStudio_你的主机中的软件中止了一个已建立的连接---Android原生开发工作笔记123

    你的主机中的软件中止了一个已建立的连接,如果你也在把android 的app,运行在物理机的时候报这个错,我去...来看看吧 查了很多,网上的...最后发现,只要你是win10操作系统,你把 移动WI ...

  8. java.io.IOException: 你的主机中的软件中止了一个已建立的连接。

    Could not complete request org.apache.catalina.connector.ClientAbortException: java.io.IOException: ...

  9. java.io.IOException: 您的主机中的软件中止了一个已建立的连接。

    日志如下,背景是开了几百给连接同时向服务器发送消息,跑了一两天报的错,服务器那边没有报错,是放在tomcat里运行的,但是重新启动客户端无法连接服务器了 ,服务器貌似停了.请问一下是什么原因 是服务器 ...

  10. 您的主机中的软件中止了一个已建立的连接。

    本文转载自: https://www.cnblogs.com/mistor/archive/2012/02/16/2353742.html 作者:mistor 转载请注明该声明. 我这个错误是ASP. ...

最新文章

  1. JavaBean组件的基本使用-语法
  2. centos 7 python2.7.5升级到3.5.2
  3. sqlserver 穷举 排列 组合
  4. 在linux中查看端口信息,怎样在 Linux 上查看某个端口的相关信息?
  5. git bash解决中文乱码问题
  6. Python实训day01pm【练习题、文件编写、列表的使用】
  7. 人工智能中的局部搜索算法
  8. ActiveXObject 安装
  9. 不是bug!百度集好运卡奖品追加8000个金猪
  10. python 替换重复字符_python – 替换Pandas中的列之间的重复值
  11. securecrt批量登录linux,SecureCRT批量配置使用会话key
  12. 二分类模型评估之 ROC曲线和PR曲线
  13. [计算机数值分析]拉格朗日插值公式
  14. 备忘录形成html乱码,浏览器icloud网页版备忘录乱码不能显示中文汉字-企业网站设计之中的字体坑...
  15. OFFICE、EXCEL、WORD、PPT操作技巧个人笔记本(持续更新)
  16. 易基因2022年度DNA甲基化研究高分项目文章精选
  17. matlab 场仿真,利用MATLAB软件实现温度场的仿真
  18. 游戏人物装备技能数据表怎么设计(整理)
  19. 拼音魔法-华东师范大学程序设计竞赛-ecnu3256
  20. 使用Java蓝牙无线通讯技术API

热门文章

  1. c语言中primesum函数,c语言之函数
  2. C++-线程的join和detach
  3. 视频编码解码(H264中的profile和level)
  4. 使用UpdateLayeredWindow有概率出现317错误解决方法
  5. 网络在线播放ASF格式流媒体文件的制作(转)
  6. C#winform【获取文件路径--遍历文件夹图片】--实战练习六
  7. 英语知识系列:单词中元音字母发音规律
  8. 测试老鸟分享:掌握2项技能,轻松拿到软件测试工程师offer...
  9. 《壁纸 : 手机高清壁纸大全》EULA条款协议
  10. 计算机新手必学基础知识,5分钟带你全面了解电脑,新手入门必备知识,值得收藏!...