django ajax请求响应[重复]
Posted
技术标签:
【中文标题】django ajax请求响应[重复]【英文标题】:django ajax request response [duplicate] 【发布时间】:2012-07-17 09:57:15 【问题描述】:可能重复:django file upload from json
您好,我正在使用模板中的以下 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
完整的源代码请查看django file upload from json
【问题讨论】:
【参考方案1】:来自您的代码:
form.ajaxSubmit(
dataType: 'json',
success: function (data)
alert("Hereeeeeeee");
您的回调在“成功”时执行,因此我们可以将失败范围缩小到 django 视图端。假设一切在语法上都是正确的,我最好的猜测是,由于您正在返回 json 数据,您的响应 mimetype 应该是:
mimetype='application/json'.
如果这不起作用,我建议在 Firefox 上使用 Firebug 或在 Chrome 上使用开发者工具来查看服务器响应。你应该可以在那里看到一个 django 堆栈跟踪。
【讨论】:
我已经尝试过了,但我仍然没有看到响应我什至可以对响应进行渲染..不知道问题是什么【参考方案2】:检查 someview
是否已添加到 urls.py。
检查% csrf_token %
是否已添加到表单中
【讨论】:
是的,两者都得到了照顾。如果我在返回之前放了一个日志,我会看到它。请查看问题中的编辑【参考方案3】:您几乎不可能看到该日志,因此这是一个 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)
【讨论】:
哦,抱歉,这只是一个复制粘贴问题。我已经编辑了问题以上是关于django ajax请求响应[重复]的主要内容,如果未能解决你的问题,请参考以下文章
来自 Django 模板的 Ajax JQuery 请求和响应
可以在ajax请求的响应中获取django设置的cookies
如何清除以前的 AJAX 响应数据(不是 html/表单数据)? - Django/AJAX