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