【问题标题】:JQuery post not passing variableJQuery post没有传递变量
【发布时间】:2011-04-29 10:34:42
【问题描述】:

单击按钮时,我正在尝试将图像的 src 传递给 django 视图。在我的模板中,我有:

$("#url_submit").click(function() {
   var film = "{{ filmname }}"
   var id = {{ id }}
   $.ajax({
     url: "/db/gallery2/" + film + "/" + id + "/",
     data: {url: $('#large_thumbnail').attr('src')},
     type: "POST"
   });  
});

我的观点是:

def thumbnail_choice(request, filmname, id):
    if request.is_ajax:
         if request.method == "POST":
            url = request.POST['url']
            if url != "":
                 mdlnm = get_model('db', filmname.lower())
                 object = get_object_or_404(mdlnm, id__iexact=id)
                 object.url_small = url
                 object.save()
                 return HttpResponseRedirect("/db/")
    return render_to_response('gallery2.html', {'filmname': filmname, 'id': id})

当我提交页面时,我收到一个错误:

“在<QueryDict: {}> 中找不到键'url'”

我确定我在这里做错了很多事情。

【问题讨论】:

  • 首先要做的是使用 Firebug 或 TamperData(Firefox 插件)检查 HTTP 请求中的具体内容。
  • 或者,您可以在开发者工具中使用 Chrome 的资源标签。
  • 什么时候提交页面?你的意思是你在后台看ajax请求还是自己实际提交表单?如果后者为真,那么您的表单是否有 method="post" ?

标签: jquery ajax django django-templates


【解决方案1】:

哦。很抱歉浪费您的时间。菜鸟错误:

if request.is_ajax():

不是

if request.is_ajax:

感谢cmets

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多