我是 Django 和 Python 的新手,所以请耐心等待。
我正在尝试提交一个表单(在 test.html
页面中),提交表单后我想加载一个新页面(test.html/web1.html
),然后页面将显示正在运行的任务的持续更新。
目前,这适用于单个页面,我在其中提交表单,并使用 AJAX 在同一页面上获取更新。我想在新页面上实现它。下面是我的代码。
test.js
$('#Submit_button').on('submit',function(event){
event.preventDefault();
console.log("form submitted!")
call_func();
});
function call_func() {
$.ajax({
url : "start_task/", // the endpoint
data:{...,'init':call_func.i}, // call_func.i to iterate 2 times
headers: {Accept: "application/json"},
success : function(json) {
if(call_func.i==0){
call_func.i=1;
call_func();
}
else ...
views.py
def start_task(request):
if request.method == 'POST':
init = request.POST.get('init')
print('init =',init)
if init==0:
return render(request, 'my_app/web1.html')
elif init==1:
# work on updates
return HttpResponse(
json.dumps(response_data),
content_type="application/json"
)
html
<form action="/test.html/start_task/" method="POST" id="Submit_button">
如何仅在后半部分(更新新页面)使用 AJAX,并在提交后先加载页面?
最佳答案
我认为你需要类似 HttpResponseRedirect 的东西而不是 HttpResponse:
if form.is_valid(): # validation
# Process your data
# ...
return HttpResponseRedirect('/new_page_url/')
关于javascript - Django,想要加载一个网站然后更新它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34195649/