点击按钮表单将提交,成功数据包含next_url。我的目标是使用next_url提交相同的表单。这可能吗。?对不起,如果问题已经提出,请给我网址。
我的脚本代码:
$(document).ready(function(){
$('form').submit(function(event){
event.preventDefault();
$.ajax({
type: 'post',
url: '/',
async: false,
data: $("#form_to_submit").serialize(),
success: function(data){
console.log(data);
$('form').attr('action', data.next_url);
$('form').unbind('submit').submit();
}
})
return false;
})
})
并在此处查看django视图。
def home(request):
data_dict = {}
if request.method == 'POST':
form_data = request.POST['data']
data_dict['form_data'] = form_data
data_dict['next_url'] = reverse('frontend:first_term')
return JsonResponse(data_dict)
return render(request, 'index.html', {'data_list': data_list})
def first_term(request):
data_dict = {}
data_dict['next_url'] = reverse('frontend:second_term')
return JsonResponse(data_dict)
更新1:
以上代码重定向到localhost.com/first_term
和{"next_url": "/second_term"}
上下文。
但我希望first_term会发布该值并获得next_url in success方法[third_term
]
答案 0 :(得分:0)
你可以尝试这个:
$(document).ready(function() {
$('form').submit(function(event) {
event.preventDefault();
$.ajax({
type: 'post',
url: '/',
async: false,
data: $("#form_to_submit").serialize(),
dataType: 'json',
cache: false
success: function(data) {
console.log(data);
$('form').attr('action', data.next_url);
$('form').unbind('submit').submit();
}
})
})
})
或