django ajax请求回复

时间:2012-07-18 11:19:47

标签: ajax django django-templates django-views ajax-upload

  

可能重复:
  django file upload from json

您好我从模板使用以下ajax上传,但我没有得到django view的回复。这里有什么问题..我没有看到任何提醒

function ajax_upload(formid)
{
var form = $(formid);
form.ajaxSubmit({
  dataType:  'json',
  success:   function (data) {
  alert("Hereeeeeeee");
  if(data.status == '1')  
  {
     alert("Uploaded Successfull");
  }
  else 
  {
     alert("Uploaded UnSuccessfull :(");
  }
  }
} )   ; 
}

EDIT Django的:

  def someview(request):
      response_dict={'status':1}
      logging.debug("seen") //This is seen in the logs
      return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')

EDIT1

请查看完整的源代码,请查看django file upload from json

3 个答案:

答案 0 :(得分:0)

检查someview是否已添加到urls.py.
检查{% csrf_token %}是否已添加到表单

答案 1 :(得分:0)

你很难看到那个日志,因此这是一个python语法错误:

response_dict{'status':1}

应该是:

response_dict = dict(status=1)

或:

response_dict = {'status':1}

或:

response_dict = dict()
response_dict['status'] = 1

或:

response_dict = dict()
response_dict.update({'status':1})

答案 2 :(得分:0)

从你的代码:

form.ajaxSubmit({
  dataType:  'json',
  success:   function (data) {
    alert("Hereeeeeeee");

您的回调在'成功'上执行,因此我们可以将失败范围缩小到django视图。假设一切语法都正确,我最好的猜测是,因为你要返回json数据,你的响应mimetype应该是:

mimetype='application/json'.

如果这不起作用,我建议在Firefox上使用Firebug或在Chrome上使用开发人员工具查看服务器响应。你应该能够在那里看到django stacktrace。