在django视图中显示ajax数据

时间:2012-09-18 12:26:58

标签: django jquery django-views

我通过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))

但它不起作用。它似乎是空白页面。我不知道有什么问题。

1 个答案:

答案 0 :(得分:1)

您发布到预览视图,然后当成功返回时,您尝试再次调用相同的URL来打开一个单独的窗口。但是第二次调用没有任何POST数据,所以自然它不起作用。您的success函数应该对已经传递的数据执行某些操作,而不是尝试打开新的URL。