django form ajax post 问题请教

2017-11-16 14:26:23 +08:00
 fanne

版本说明:

python 2.7
django 1.11
jquery 2.11

Html 内容:

js 内容

views.py 内容

前端展示

表单提交后,无论成功失败,都调到这个内容

这是为何的? 不是停留在原始页面

而且 ajax 中的alert也没有弹窗。

3136 次点击
所在节点    Django
8 条回复
RudyC
2017-11-16 15:02:44 +08:00
type=submit
fanne
2017-11-16 17:01:43 +08:00
@RudyC #1 不明,不能使用 submit 类型?
manzhiyong
2017-11-16 17:08:39 +08:00
.onclick(function(ev) {
加个参数 ev,下面再加一行:
ev.preventDefault();
fanne
2017-11-16 17:18:51 +08:00
@manzhiyong #3 这个事件添加后,也没啥效果
Kokororin
2017-11-16 17:52:36 +08:00
jQuery 有 onclick ??
awanabe
2017-11-16 17:53:35 +08:00
type=submit 的 按钮会触发 提交时间..
而你是想要异步提交, 和 form 本身的提交冲突的.

# 1. 先禁掉自动提交
$('#jsStayForm').submit(function(){
return false;
})

# 2. 把 button 的 type=submit 去掉
# 3. jquery 里面 是 .click(), 不是 onclick
awanabe
2017-11-16 17:54:46 +08:00
@awanabe 提交事件

# ps. 这个和 django 没关系啊... LZ 前端 和 HTTP 的知识要掌握啊
Dganzh
2017-11-17 09:21:48 +08:00
因为返回的都是成功的状态啊,都是 200,你应该在失败的响应中加 400: HttpResponse(....., status_code=400, content_type=.....)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/406921

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX