我试图用Django做一个ajax请求,但是我得到了一个内部服务器错误500 ..很奇怪请求是去服务器但是当它试图返回响应时它会失败...
这是我的观点
views.py
@csrf_exempt
def getproductinfo(request):
to_json = {'name':'test'}
print "Value of a = ", to_json
try:
json_response = simplejson.dumps(to_json)
except (TypeError, ValueError) as err:
print 'ERROR:', err
print 'json_response = ', json_response
return StreamingHttpResponse(json_response,content_type='application/json')
ajax call
$.ajax({
async:false
,url:'/getproductinfo'
,type: 'POST'
,data: {session_id: '{{request.session.sessionid}}'}
,success: function(msg){
alert('Success')
}
,error: function(msg){
alert("It erroed out")
}
})
urls.py
url(r'^getproductinfo',getproductinfo),
请让我知道如何解决这个问题。谢谢..
答案 0 :(得分:0)
您的异常处理已被破坏。如果在反序列化JSON时出错,则json_response
将是未定义的。但是你在异常块之后引用它,所以在这种情况下你会得到一个你没有捕到的NameError
。