2

可能重复:
从 json 上传的 django 文件

嗨,我正在使用模板中的以下 ajax 上传,但我没有得到 django 视图的响应。这里有什么问题..我没有看到任何警报

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 姜戈:

  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

另请查看完整的源代码,查看从 json 上传的 django 文件

4

3 回答 3

0

检查someview添加到 urls.py。
检查{% csrf_token %}添加到表单

于 2012-07-18T11:32:48.030 回答
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})
于 2012-07-18T11:43:21.347 回答
0

从您的代码:

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

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

mimetype='application/json'.

如果这不起作用,我建议在 Firefox 上使用 Firebug 或在 Chrome 上使用开发者工具来查看服务器响应。您应该能够在那里看到 django 堆栈跟踪。

于 2012-07-18T12:24:52.153 回答