解决django中form表单设置action后无法回到原页面的问题
django中form表单设置action后,点提交按钮是跳转到action页面的,比如设置action为login,网址为192.168.1.128,跳转后便会来到192.168.1.128/login,F5刷新也会是重新提交表单对话框,无法回到原页面。
因此就要在django服务器进行重定向,具体就是
fromdjango.shortcutsimportredirect #最后返回原页面 returnredirect(url)
补充知识:Django+Ajax发送POST表单,并将返回信息回显到页面中
将表单数据发送回后端,然后处理后端返回的信息并显示在当前页面中,这里使用Ajax进行处理;
那么先看js代码:
$(document).ready(function(){ $("#save").click(function(){ $.ajax({ url:"/api/add_event/",#url type:"POST",#提交表单的类型,相当于method="post" dataType:"json",#dataType,这个是请求后,返回的数据将以json格式显示 data:{"name":$("#id_name").val(),#在"#"号后面是控件id,所以千万不要搞错了,要不然会出大事的 "limit":$("#id_limit").val(), "address":$("#id_address").val(), "start_time":$("#id_start_time").val(), "status":$("#id_status").val(), },#Data这个地方,必须要获取数据,代表将获取到的数据发送到后端,后端再进行处理 success:function(data){ console.log(data);#调试使用 console.log(data.status);#调试使用 console.log(data.message);#调试使用 $(".text").text(data.message);#将后端返回到结果通过前端页面进行展示 },#注意标点 });#需要注意标点符号,如果标点符合错误了,那ajax基本上都不会执行(否则,后果很严重哦) });#注意标点 });#注意标点
注意(踩过的坑):
1.contentType:"application/json"——>加入该语句时,在后端print(request.POST)时无法获取内容,相当于后端根本拿不到数据。因此在网上搜索了解到,使用contentType:“application/json”则data只能是json字符串;不使用时contentType一般为默认的application/x-www-form-urlencoded格式,因此如果不限制POST格式,干脆就不写。
2.说说“data”这里面需要注意:data:{"name",$("#id_name").val(),}这其中id_name必须为控件的id名称,使用其它的则不能获取的数据,这个还是得注意。
3.标注符号,标点符号,标点符号,重要的事情说三遍,当然可以借助专门的编辑器(我主要是懒哦,哈哈)
4.$(".text").text(data.message);回显在html中,是对后端返回的数据进行处理
那行回显在网页面上面
以下为html代码
发布会名称: