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

如何在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。如果替换为它,则将整个页面刷新到应有的状态,但是我认为刷新整个页面是一种浪费。 如果有更好的方法,请告诉我

  • 问题内容: 如果我不想刷新页面,该如何在Codeigniter中进行表单验证?基本上我这样做: 但是,如果我使用ajax发送数据并且页面没有刷新,我该如何进行表单验证? 编辑: 谢谢@ Amra Kojon。很好并且可行,但是新的问题是: 如果我只是在其他部分说回声“某事”,它可以工作,并且如果验证还可以,则回声你好,但是如果我在数据库中写入主题(值数组中包含数据且不是ajax方式,则插入日期),

  • 问题内容: 在我的javacript函数中,我将此称为ajax。它工作正常,但仅当我从服务器访问网页时才有效。我的服务器上有相同的代码。Ajax要求下载一些文件,但是只有firebird服务器才向我们的客户端提供其IP注册,以便能够在那里进行scp。如果我从测试服务器访问php文件,则需要执行相同的操作。所有服务器都在Intranet内。 有可能使用dataType 这样做吗? 我需要在服务器端进

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