django winerror 10053 on ajax post

1.使用python3 加django 1.9开发时遇到问题,前段ajax post数据时,后台接受数据并成功处理了,但在返回json值时却发生错误 ConnectionAbortedError:[winerror 10053]你主机中的软件终止了一个已建立的连接
使用chrome调试发现返回状态值是200 但返回值为空

谷歌后发现 与http://stackoverflow.com/ques...
问题几乎完全相同 但是无人做出解答

我的python后台代码:

def res(res_code,desc,data):

res_data = {

'res_code':res_code,

'desc':desc,

}

if data:

res_data['data'] = data;

print(res_data)

print(JsonResponse(res_data))

return JsonResponse(res_data)

def res_fail(res_code,desc,data = None):

return res(res_code,desc,data)

def res_success(desc,data = None):

return res(0,desc,data)

def search_certificate(request):

assert request.method == 'POST'

#验证验证码

imgcode = request.POST['code']

if imgcode is None or imgcode=='':

return res_fail(1,"验证码不能为空")

ca = verification_code.Captcha(request)

if not ca.check(imgcode):

return res_fail(1,"验证码错误")

certificate_id = request.POST['certificate_id']

if certificate_id is None or certificate_id == '':

return res_fail(1,"证书编号不能为空")

try:

des = certificate_data.objects.get(certificate_id=certificate_id)

except certificate_data.DoesNotExist:

return res_fail(1,"证书不存在!")

return res_success("找到证书",{"id":des.id})

错误信息:
图片描述

图片描述

从报错前执行流程可以看出 后台代码部分一直执行到返回前的print都是没有问题的,返回的数据也不存在任何问题,那么问题只可能发生在JsonResponse上了?感觉不太可能
这个问题弄了很长时间了,项目也因为这个拖了很久,望各位指点指点,非常感谢!

回答:

你好,请问找到了解决办法了吗

回答:

应该是前端问题。
触发ajax的按钮 加上type="button"试试

回答:

两种方法

$.ajaxSetup({

async : false

});

或者这样

$.ajax({  

type : "post",

url : "http://127.0.0.1:8000/sign-up/",

data : data,

async : false,

success : function(data){

alert(data)

}

});

以上是 django winerror 10053 on ajax post 的全部内容, 来源链接: utcz.com/a/158978.html

回到顶部