当前位置: 首页 > 面试题库 >

如何在Django中使用jQuery / Ajax发布?

薛泰
2023-03-14
问题内容

我正在尝试在Django中使用jQuery / AJAX发布数据,并且遇到了麻烦。当我运行下面的代码并单击“测试”按钮时,整个页面将再次重新加载,这不是我想要的(这就是我使用AJAX的原因)。

我也无法确认AJAX请求正在进入Django视图。

编辑:我对return false和进行了编辑event.preventDefault()。无法加载新页面,但仍无法在该<div id='message'>字段中看到更新的文本。我不确定是否正在发送数据。我在控制台中看到:

POST /edit_favorites/ HTTP/1.1" 403 2294

views.py:

from django.shortcuts import render_to_response
from django.http import HttpResponse

def edit_favorites(request):
    if request.is_ajax():
        message = "Yes, AJAX!"
    else:
        message = "Not Ajax"
    return HttpResponse(message)

urls.py:

url(r'^edit_favorites/', 'edit_favorites'),

HTML:

<form method='post' id='test'>
  <input type="hidden" value="video34"/>
  <input type='submit' value='Test button'/>
  <div id='message'>Initial text</div>
</form>

JavaScript:

$(document).ready(function () {
  $("#test").submit(function (event) {
    event.preventDefault();
    $.ajax({
      type: "POST",
      url: "/edit_favorites/",
      data: {
        'video': $('#test').val() // from form
      },
      success: function () {
        $('#message').html("<h2>Contact Form Submitted!</h2>")
      }
    });
    return false;
  });
});

有什么建议吗?


问题答案:

放错了地方return false;。它应该在.submit()功能的末尾。因此,将其向上移动一行:

$(document).ready(function () {
  $("#test").submit(function (event) {
    $.ajax({
      type: "POST",
      url: "/edit_favorites/",
      data: {
        'video': $('#test').val() // from form
      },
      success: function () {
        $('#message').html("<h2>Contact Form Submitted!</h2>")
      }
    });
    return false; //<---- move it here
  });

});


 类似资料:
  • 问题内容: 我正在尝试在Django中使用jQuery / AJAX发布数据,并且遇到了麻烦。当我运行下面的代码并单击“测试”按钮时,整个页面会再次重新加载,这不是我想要的(这就是我使用AJAX的原因)。 我也无法确认AJAX请求正在进入Django视图。 编辑: 我对return false和进行了编辑。无法加载新页面,但仍无法在该字段中看到更新的文本。我不确定是否正在发送数据。我在控制台中看到

  • 问题内容: 我已经检查了很多有关django AJAX表单的教程,但是每个教程都告诉您一种实现方法,它们都不是简单的,而且由于我从未使用过AJAX,所以我有点困惑。 我有一个名为“ note”的模型,它的模型形式,并且在模板内,我需要每次note元素发送stop()信号(来自jQuery Sortables)时django更新对象。 我当前的代码: views.py JavaScript: 当前代

  • 问题内容: 我正在尝试使用AJAX和JQuery(在Django中)刷新页面的特定部分。如何获取仅重新显示div而不重新显示整个页面的信息。 这是我的看法。 当前,它将整个html页面放入#tag_page div中。我希望它用新的#tag_page div替换旧的#tag_page div。如果替换为它,则将整个页面刷新到应有的状态,但是我认为刷新整个页面是一种浪费。 如果有更好的方法,请告诉我

  • 问题内容: 我有以下代码,但是当我从页面重定向提交时。我希望能够使用jquery / ajax向其发布内容,以便提交时页面不会刷新。有人可以给我看一个jsfiddle演示吗? 问题答案: 看一下jQuery :

  • 问题内容: 这类似于Node.js的Stream数据,但是我觉得这个问题没有得到足够的回答。 我正在尝试使用jQuery ajax调用(get,load,getJSON)在页面和node.js服务器之间传输数据。我可以从浏览器中找到该地址,然后看到“ Hello World!”,但是当我从页面尝试此操作时,它失败并显示没有任何响应。我设置了一个简单的测试页面和hello world示例进行测试:

  • 问题内容: 这可能是基本的,但是我花了两天时间,阅读了无数教程,但仍然无法正常工作。为简单起见,我尝试完成一项基本任务只是为了看它能起作用。我想向我的捐赠视图发送一个ajax调用。我看到它成功通过,但是我期望我的模板也将更新为“ TRUE”,但仍为“ FALSE”。我有任何帮助或建议。 我的jQuery … 这是我的看法 我的模板包括这个… 更新/解决方案 就像在此问题的评论中提到的那样,我没有对