我通过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))
但它不起作用。它似乎是空白页面。我不知道有什么问题。
答案 0 :(得分:1)
您发布到预览视图,然后当成功返回时,您尝试再次调用相同的URL来打开一个单独的窗口。但是第二次调用没有任何POST数据,所以自然它不起作用。您的success
函数应该对已经传递的数据执行某些操作,而不是尝试打开新的URL。