【发布时间】:2015-08-26 01:13:58
【问题描述】:
我在 django 模板中有一个表单,它在提交时调用 javascript 函数:
<input name="button2" type="submit" class="test" id="button2" value="submit"
onclick="checkSubmitStatus();"/>
表单提交后,python视图中的一些代码,将表单中的数据写入数据库。喜欢:
if request.method == 'POST':
customer_data = Customers(CustomerID=1, CustomerName=request.POST['textfield1'])
customer_data.save()
return HttpResponse(status=204)
在 javascript 函数中,我使用 ajax 从服务器获取一些数据:
<script type="text/javascript">
function checkSubmitStatus() {
$.ajax({
url: "CustomerData",
type: 'get',
datatype: 'html',
async: false,
success: function(data) {
x = data;
}
});
Alert(x);
}
当 CustomerData 从 DB 中读取数据时:
return HttpResponse(Customers.objects.get(CustomerID=1).CustomerName)
我希望 CustomerData 提供修改后的数据(我在模板表单中输入的数据),同时它返回之前的数据。当我刷新页面时,我可以看到更新的数据。所以我确定表单数据已写入数据库,但脚本显示的数据很破旧。
【问题讨论】:
-
哪个视图在做
return HttpResponse(Customers.objects.get(CustomerID=1).CustomerName)?谁触发了该网址? -
CustomerData(在 ajax 代码中调用)@TheMonk
-
有点混乱:你说表单提交按钮调用函数
checkSubmitStatus()你还说那个js函数中的ajax调用返回return HttpResponse(Customers.objects.get(CustomerID=1).CustomerName)的视图? -
@TheMonk 感谢您的关注。是的,有两种观点。其中之一提供模板的全部信息。另一种只是在表单提交后返回一个数据用于ajax部分。
标签: django database forms django-models django-views