2012-09-18 91 views
0

我通過ajax獲取一些表單值並將它們發佈到預覽頁面。但我無法得到如何在我的模板文件中達到這些值。這裏是我的代碼:在django視圖中顯示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)) 

,但它不工作。它似乎空白page.i不知道什麼是錯的

+0

您是否嘗試在POST()對象之前打印「title_preview」&「body_preview」?你如何訪問模板中的「帖子」? –

回答

0

您正在發佈到您的預覽視圖,然後當它成功返回時,您試圖通過再次調用相同的URL打開一個單獨的窗口。但第二次調用沒有任何POST數據,所以自然不會起作用。你的success函數應該對已經傳遞的數據做些什麼,而不是試圖打開一個新的URL。

+0

明白了。謝謝。但是你能用一些代碼解釋嗎? – alix