这是我的代码,我的响应是200 OK但是ajax来到错误部分 我无法弄清楚
我的HTML:
$(".statics").click(function(){
var name = $(this).attr("data-name");
$.ajax({
url: 'statics/',
data: {
'name':name
},
type: 'POST',
async: false,
dataType: 'json',
success: function(dataArr){
console.log("ssss:",dataArr)
if(dataArr == "IS_PASS"){
alert('PASS!');
}else if(dataArr == "NOT_PASS"){
alert('NOT_PASS');
}
},
error: function(ts){
console.log("eeee:",ts)
alert('fail');
},
});
});
我的views.py
def statics_r(request):
if request.is_ajax():
name = request.POST['name']
...
if is_pass:
return HttpResponse("IS_PASS")
else:
return HttpResponse("NOT_PASS")
控制台是:eeee: Object {readyState: 4, responseText: "NOT_PASS", status: 200, statusText: "OK"}
为什么不成功???
答案 0 :(得分:1)
对于ajax响应,您应该返回json,最简单的方法是使用JsonResponse
类而不是HttpResponse
,或设置content_type
HttpResponse("{'result': 'IS_PASS'}", content_type="application/json")
您需要调整success
功能才能访问结果,即dataArr.result