我正在django中创建一个博客应用程序,该应用程序具有3个提交按钮。

  1. 发布
  2. 预习

保存由AJAX处理,并更新博客中的数据。 发布,发布博客并重定向到适当的页面,并且“预览”在其他选项卡中显示预览。 如果使用“预览”,我可以简单地调用保存功能,然后在新选项卡中打开预览页面。/实际上,我需要通过AJAX保存。 我正在使用下面给出的代码,但出现错误

<form id="blog_form" action="" method="post">
<!-- All the form fields are here -->
    <a href="#" id="not_button" class="save_button"> Save</a>
</form>

和JavaScript是

    var post_url = location.pathname;

    $(".save_button").click(function() 
    {           
        $.ajax({
          type: "POST",
          url: post_url,
          data: $("#blog_form").serialize(),
          dataType: 'json',
          success: function() 
          {
            // display success message 
            $("#reply-message").html('Your message has been sent!').fadeOut(3000, function() {});
          },
          error: function() 
          {
            // display failure message
            $("#reply-message").html('Form not saved!').fadeOut(3000, function() {});
          },

        });

        return false;   
    });

除了其他内容外,视图还包含这部分

def blog_form(request,author_id=None,slug=None):
     if request.is_ajax():
        if request.method == 'POST':

            author = User.objects.get(pk=author_id)
            blog = get_object_or_404(Entry, creator = author, slug = slug)

            form = EntryForm(request.POST, instance = blog)
            if form.is_valid():
                form.save()
            return_message = "Updated"
            return HttpResponse(return_message,mimetype='application/javascript')

我希望这可以工作,但我不知道为什么在jquery调用中出现错误。 我收到失败消息。 此表单的典型网址是/blogs/1/my-blog/edit/ ,以下是我的urls.py文件的相关部分

url(r'^(?P<author_id>\d+)/(?P<slug>[-\w]+)/edit/$', 'blog.views.blog_form', name='edit_blog'),

编辑:

解决此问题后,我在jquery中遇到的错误是parsererror ,出现了一个新错误。 表单仅通过ajax提交一次。 如果我尝试再次提交,它将无法正常工作,直到重新加载页面后,一切都不会发生。

  ask by Sachin translate from so

本文未有回复,本站智能推荐:

1回复

Django View-执行HTTP POST,但不生成新页面

我有一个带有一些简单复选框的表格。 当我提交时,它会在其中post相关信息。 HTML看起来像这样 因此,当我单击按钮时,它会将其提交到后端的同一页面。 我实际上有一些额外的JQuery代码,将更多参数附加到POST ,并且该代码位于类似$('#myForm').submit(fu
1回复

Django动态名称属性并在views.py中获取值

我已经在Django中使用TemplateView创建了表单,并且不得不使用大量JavaScript来使表单生成动态化。 我所做的是使它成为可能,以便用户可以通过单击“ Add More Software按钮来Add More Software具有相关信息的多个软件包,然后为每个输入的该表单组
1回复

使重定向URL与ajax一起使用

我想知道如何在我的视图中使请求与Ajax一起使用,同时我想将用户重定向到其他页面。 我的意思是,例如,当用户成功发送电子邮件时,我想将他/她重定向到其他页面。 我应该怎么做才能使此请求与ajax一起使用? 我在views.py中有此功能: 然后我签入(例如“ messages_
1回复

表单提交转到新页面,而不是鉴于Django Ajax表单加载

我有一个简单的表单,可以用来测试ajax调用。 ajax.html文件如下所示: 它是views.py看起来像这样: 此表单提交给此ajax函数: urls.py看起来像: 问题是当我转到位于http://localhost:8000/polls/ajaxfor
2回复

重新加载表而不刷新Django中的页面

有一个小表,需要每10秒更新一次新数据。 整个网站都在Django中工作。 JSON将数据解析为1个表,并每10秒在数据库中重写一次数据。 该网站正在显示数据库中的数据。 我需要的过程是每10秒用新数据刷新前端表-这将是我假设的AJAX,您能帮我编写一下代码吗? 它不会将数据追加到表中
1回复

使用ajax在django中刷新页面而不重新加载它?

我正在构建一个消息传递应用程序,我想每隔1分钟重新加载一次页面,以便用户可以看到新消息(如果有的话),我知道该如何使用html进行操作,但是我想使用ajax(我不太喜欢)重新加载页面。 这是我的views.py: 我的模板是: 我知道websocket是最好的解决方案,但是现在我不需要它,我
1回复

如何在Django中使用Ajax传递模型对象并将其存储在数据库中而不刷新页面?

我正在Django中做一个小项目,因为我想在其中一个页面中添加一个收藏夹按钮,以便在单击该按钮时必须返回模型对象,并且必须将其存储在另一个数据库中以供参考,但没有发生。这是我的home / bookdetails.html 我的urls.py: 我的models.py:
1回复

Django的喜欢按钮ajax

我一直在尝试用ajax创建类似按钮。 在我的模型应变中,我有一个字段调用user_like = models.ManyToManyField(settings.AUTH_USER_MODEL,related_name ='strains_liked',blank = True) 这是我的
2回复

Django Jquery按钮“选择帖子”

在Django中,我有一个“ pick”按钮,如下所示: 在此HTML forloop中显示帖子: 我的jQuery代码是: 和我的看法: 使用此代码,其目的是在用户单击“选择”按钮时将信息保存到选择表中: 我在这里做错了什么? 提前致谢
1回复

Django Page未刷新服务器发送的新数据

我是Django的新手,所以我将尽我所能描述我的情况: 用户输入一些字符串进行搜索 从服务器返回数据,并在表中相应地填充数据 然后,用户可以单击一个按钮,数据将出现在模式对话框中 在对话框中,用户可以更改搜索值并单击搜索按钮以重新搜索新值 将发布请求发送