利用 ajax自定义Form表单的提交方式
需求场景:有时候单纯的form表单无法向后端传递额外的参数 比如需要action传递js异步生成的参数 ,form表单默认的action就无法满足需求,这时就需要我们自定义form表单的提交方式。
html:(向后台传递对任务的评论内容,默认缺点:不能携带任务id)
<div>
<form action="#" id="form_comment">
<textarea id="comment" required="required" class="form-control" name="comment"
data-parsley-trigger="keyup" data-parsley-minlength="20" data-parsley-maxlength="100"
data-parsley-validation-threshold="10" placeholder="评论......"></textarea>
<div style="padding: 4px 0 0 0">
<button type="submit" class="btn btn-success" id='commentSb'
style="background: #fff;color: #0c0c0c;border-color: #CCC"><font
style="vertical-align: inherit;"><font style="vertical-align: inherit;">提交</font></font>
</button>
<button type="button" class="btn btn-primary" id='commentCel'><font
style="vertical-align: inherit;float: right"><font
style="vertical-align: inherit;">取消</font></font></button>
</div>
</form>
</div>
js:(自定义提交方法)
$(document).ready(function(){
function decodeQuery() {
var search = window.location.href; //获取跳转到本页面的路由 http://127.0.0.1:5000/task_mgm/taskinfo_editID=29?pageType=minePage
return search.split('=')[1].split('?')[0];
}
// 获取任务id
var taskId = decodeQuery();
// 提交评论
$("#form_comment").submit(function (event) {
event.preventDefault(); // 阻止form表单的默认提交路径:action指定的路径
var comment = $('#comment').val();
var data = {
"comment": comment
};
$.ajax({
url: "/task_mgm/taskinfo_comment=" + taskId, // 可灵活传参
type: "POST",
data: JSON.stringify(data),
contentType: "application/json",
dataType: "json",
success: function (resp) {
if (resp.error == 'OK') {
alert('评论成功');
$('#comment').val('');
} else {
alert('评论失败');
}
}
})
})
})
flask:
# 提交评论
@task_mgm.route('/taskinfo_comment=<int:num>', methods=['GET', 'POST'])
@sso_wrapper
def taskinfo_comment_form_fun(num):
req_data = request.get_json() # 获取json数据参数
comment = req_data.get('comment')
comment = Comment(content=comment, taskId=num, userId=2)
db.session.add(comment)
db.session.commit()
return jsonify(error='OK', emag='NO') # 返回数据json格式
利用 ajax自定义Form表单的提交方式的更多相关文章
- form表单的提交方式
开发中表单提交是很常见的,表单的提交方式也多种方式. 1.使用submit按钮提交表单 <input type="submit"/> <!DOCTYPE htm ...
- jQuery Ajax 确定 form 表单 submit 提交成功
使用 jQuery 提交表单,可以使用 同步方式(async: false). a.html 是 html 文件,a.php 是服务端文件,把 a.html 中表单的数据提交到 a.php 中,在提交 ...
- form表单以get方式提交时action中?后面的参数部分不生效
form表单的提交方式是get方式,action="?sss=test",问号后面参数是接受不到的,谨记!
- 使用ajax方法实现form表单的提交(附源码)
写在前面的话 在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说 ...
- 使用ajax方法实现form表单的提交
作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 写在前面的话 在使用form表单的时候,一旦点击提交触发submit ...
- AJAX 实现form表单提交
1.使用Ajax实现异步操作,点击登录按钮后,即触发form表单的提交事件,数据传输至后端 JSP: <script type="text/javascript" src=& ...
- JavaWeb学习总结(十一):Session解决form表单重复提交
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...
- 基于form表单submit提交不跳转
方法一:target <html> <body> <form action="" method="post" target=&qu ...
- JavaScript 创建一个 form 表单并提交
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
随机推荐
- The first day in cnblogs
2018.12.16,学习OI的第4个月零20天,我在博客园开通了属于自己的博客.
- B+Tree原理及mysql的索引分析
一.索引的本质 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构.提取句子主干,就可以得到索引的本质:索引是数据结构. 我们知道,数据库查询是数据库的最主要功能之 ...
- Spring Cloud 分布式链路跟踪 Sleuth + Zipkin + Elasticsearch【Finchley 版】
随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构的兴起,看似一个简单的应用,后台可能很多服务在支撑:一个请求可能需要多个服务的调用:当请求迟缓或不可用时,无法得知是哪个微服务引起的,这 ...
- kafka原理和实践(三)spring-kafka生产者源码
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践( ...
- .NET Core 中的路径问题
NET Core 应用程序相对于以前的.NET Framework 应用程序在启动运行的方式上有一定的差异,今天就来谈一谈这个获取应用程序启动路径的问题. 1.工作路径 WorkingDirector ...
- Java性能优化之String字符串优化
字符串是软件开发中最重要的对象之一.通常,字符串对象在内存中是占据了最大的空间块,因此如何高效地处理字符串,必将是提高整体性能的关键所在. 1.字符串对象及其特点 Java中八大基本数据类型没有Str ...
- java 日志框架总结
在项目开发过程中,我们可以通过 debug 查找问题.而在线上环境我们查找问题只能通过打印日志的方式查找问题.因此对于一个项目而言,日志记录是一个非常重要的问题.因此,如何选择一个合适的日志记录框架也 ...
- 【C#复习总结】垃圾回收机制(GC)2
理解C#垃圾回收机制我们首先说一下CLR(公共语言运行时,Common Language Runtime)它和Java虚拟机一样是一个运行时环境,核心功能包括:内存管理.程序集加载.安全性.异步处理和 ...
- 【C#复习总结】细说表达式树
1 前言 系类1:细说委托 系类2:细说匿名方法 系列3:细说Lambda表达式 系列4:细说泛型委托 系列5:细说表达式树 系列6:细说事件 涛声依旧,再续前言,接着用大佬的文章作为开头. 表达式树 ...
- Mac 小记 — iTerm2、Zsh、Homebrew
前言 写完 "Ubuntu 自动化配置" 这篇文章后,每次连服务器心情指数都上升好几个百分点,于是想着应该将 macOs 的开发环境也梳理梳理,应该会对开发效率有所增益. 1. i ...