我有一个 html 页面,其中包含一个表单,我希望当表单成功提交时,显示以下 div:
<div class="response" style="display: none;">
<p>you can download it<a href="{{ link }}">here</a></p>
</div>
我还有一个 jquery 函数:
<script type="text/javascript">
$(function() {
$('#sendButton').click(function(e) {
e.preventDefault();
var temp = $("#backupSubmit").serialize();
validateForm();
$.ajax({
type: "POST",
data: temp,
url: 'backup/',
success: function(data) {
$(".response").show();
}
});
});
});
</script>
在我的views.py
(后面的代码)中,我创建了一个链接并将其传递给 html 页面。我有:
def backup(request):
if request.is_ajax():
if request.method=='POST':
//create a link that user can download a file from it. (link)
variables = RequestContext(request,{'link':link})
return render_to_response('backup.html',variables)
else:
return render_to_response('backup.html')
else:
return render_to_response("show.html", {
'str': "bad Request! :(",
}, context_instance=RequestContext(request))
backup = login_required(backup)
我的问题:我的观点似乎没有执行。它没有显示我发送到此页面的链接。似乎只执行了 jQuery 函数。我很困惑。我怎样才能让它们都执行(我的意思是 jQuery 函数,然后是我在这个函数中设置的 url,它使我的视图被执行。)
我不知道如何使用序列化功能。每当我搜索时,他们写道:
.serialize() 方法以标准 URL 编码表示法创建文本字符串,并生成查询字符串,如“a=1&b=2&c=3&d=4&e=5。
我不知道什么时候必须使用它,而我可以在 request.Post["field name"] 中访问我的表单字段。而且我不知道在我的情况下成功的数据应该是什么:函数(数据)。
非常感谢您的帮助。