【问题标题】:Ajax post with Django and jquery使用 Django 和 jquery 进行 Ajax 发布
【发布时间】:2010-12-03 15:31:22
【问题描述】:

我是所有 django 和 ajax 的新手。我在网上阅读了一些教程,我正在尝试制作一个简单的表单,通过 ajax 发布一些信息。

这是我模板的 jquery 部分:

<script type="text/javascript">

 $(document).ready(function () {

  $('#iEventAjax').submit( function()
  {
   var name = $('input[name=event_name]');
   var data = name.val();
   $.ajax({
                                type:"POST",
                                url:"/mediaplanner/edit/",
                                data:data,
                                success: function(msg){
                                        alert(msg);
                                }
                        });
  });

以及查看代码:

def iEventAjax(request):
        if request.is_ajax():
                return HttpResponse("ok")
        else:
                return render_to_response("iEventSave.html",{})

好吧,当我发布某些内容时,它会返回 iEventSave.html 而不是给出“ok”消息。 有什么建议,我失败了哪一部分?

【问题讨论】:

    标签: jquery ajax django form-submit


    【解决方案1】:

    这段代码发生了什么:

    1. 您将处理程序绑定到表单 提交
    2. 然后提交一个 ajax 返回“ok”的响应
    3. 表单继续作为常规 HTML 表单提交
    4. 第二次提交 返回模板,因为它是 GET 请求,而不是 AJAX

    在 jQuery 中,您需要从提交函数中返回 false,或者在事件 jQuery Submit Docs 上调用 preventDefault

    所以:

    $(document).ready(function () {
    
    $('#iEventAjax').submit( function()
    {
     var name = $('input[name=event_name]');
     var data = name.val();
     $.ajax({
                                type:"POST",
                                url:"/mediaplanner/edit/",
                                data:{my_data:data},
                                success: function(msg){
                                        alert(msg);
                                }
                        });
    return false;
    });
    

    【讨论】:

      【解决方案2】:

      你想做var data = name.serialize();来创建一个查询字符串参数。

      【讨论】:

        猜你喜欢
        • 2011-11-12
        • 1970-01-01
        • 2012-11-08
        • 1970-01-01
        • 2011-05-31
        • 1970-01-01
        • 1970-01-01
        • 2013-10-07
        • 2011-12-06
        相关资源
        最近更新 更多