0

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

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

4

1 回答 1

1

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

于 2012-09-18T12:48:07.813 回答