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 を再度呼び出して別のウィンドウを開こうとしています。しかし、2 番目の呼び出しには POST データがないため、当然機能しません。関数は、新しい URL を開こうsuccessとするのではなく、既に渡されたデータを使用して何かを行う必要があります。

于 2012-09-18T12:48:07.813 に答える