我在这里提出另一个问题:)
在我的项目中,我有一个带有表单的模板:
{% load bootstrap3 %}
{% bootstrap_css %}
{% bootstrap_javascript %}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.js"></script>
<script src="http://malsup.github.com/jquery.form.js"></script>
<script>
// wait for the DOM to be loaded
$(document).ready(function() {
// bind 'myForm' and provide a simple callback function
$('#productEditForm').ajaxForm(function() {
alert("Product with id {{ id }} saved.");
});
});
</script>
<h1>You're editing Product with ID={{ id }}</h1>
<form enctype="multipart/form-data" method="POST" action="/product_edit/{{ id }}" id="productEditForm">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
这笔交易是无论是否有脚本实现ajaxForm都可以正常工作 - 正在保存对象的实例。但是当表单被“ajaxified”时,重定向不会发生,尽管它应该发生。我知道JQuery函数preventDefault - 猜测在这种情况下我需要反向工作。
你能提供一些帮助吗?
答案 0 :(得分:0)
要在ajax请求返回后重定向,您需要使用javascript函数来更改location
或window
的{{1}}属性。
类似的东西:
document
在提交表单后,如果成功收到服务器上的ajax响应,则应重定向到'/ product_view / {{id}} /'。如果您愿意,可以将新页面作为参数传递给ajax响应。