【问题标题】:display ajax data in django view在 Django 视图中显示 ajax 数据
【发布时间】:2012-09-18 12:26:58
【问题描述】:

我通过 ajax 获取一些表单值并将它们发布到预览页面。但我无法在我的模板文件中获得这些值。这是我的代码:

我的 ajax 函数:

$('#preview').click(function() {

        var title = $('#id_title').val(); // form input1
        var body = $('#id_body').val(); // forminput2

     var ajaxOptions = {
         type:'post',
         url : '/admin/post/preview/',//preview page's url which defined in urls.py
         data : {
             'title_preview' : title,
             'body_preview'  : body
         },
         success: function(){
             window.open("/admin/post/preview"); // to see preview of post in a new window
         },
         error: function(){
            alert('olmadı');
         }
     };


        $.ajax(ajaxOptions);

我的看法:

@require_POST
def preview(request):

    title_preview = request.POST.get('title_preview')
    body_preview = request.POST.get('body_preview')
    query = Post(titlePreview = title_preview,bodyPreview = body_preview,owner = request.user)
    query.save()

    return render_to_response('preview.html',{'post':query},context_instance=RequestContext(request))

但它不起作用。好像是空白页,不知道怎么回事。

【问题讨论】:

  • 您是否尝试在 POST() 对象之前打印“title_preview”和“body_preview”?如何访问模板中的“帖子”?

标签: django jquery django-views


【解决方案1】:

您正在发布到您的预览视图,然后当它成功返回时,您试图通过再次调用相同的 URL 打开一个单独的窗口。但是第二次调用没有任何POST数据,自然就不行了。你的success 函数应该对它已经传递的数据做一些事情,而不是尝试打开一个新的 URL。

【讨论】:

  • @alix 你找到解决方案了吗?
猜你喜欢
  • 2015-11-25
  • 1970-01-01
  • 2017-11-08
  • 2014-12-08
  • 2011-05-17
  • 2021-12-08
  • 2023-03-12
  • 1970-01-01
  • 2017-10-10
相关资源
最近更新 更多