ASP表单两种提交模式辨析
- 格式:pdf
- 大小:64.66 KB
- 文档页数:2
ASP网站文件功能说明ASP(Active Server Pages)是一种用于动态网站开发的技术。
它允许开发人员通过使用服务器端脚本语言(如VBScript或JavaScript)来创建动态网页,从而能够根据用户的请求生成不同的内容。
在ASP中,网页的功能主要由服务器端的ASP文件来实现。
下面将详细介绍ASP网站文件的功能。
1.动态内容生成:ASP文件允许开发人员在网页中嵌入服务器端脚本代码,这使得网页能够根据用户的请求动态生成内容。
开发人员可以使用条件语句、循环语句和数据库查询等技术,根据特定的逻辑规则生成不同的内容。
2.表单处理:ASP文件可以用来处理网页中的表单提交。
当用户在网页上填写表单并提交时,服务器端的ASP文件可以接收并处理这些数据。
开发人员可以通过脚本代码对表单进行验证、数据处理和存储等操作,以实现表单的功能。
3.数据库连接和操作:ASP文件可以与数据库进行连接,并执行数据库操作。
开发人员可以使用ASP提供的数据库组件(如ADO)实现数据库查询、插入、更新和删除等功能。
这使得网页能够与后台的数据库系统进行交互,并根据数据库中的数据生成动态内容。
4.文件操作:5.用户认证和会话管理:ASP文件可以实现用户认证和会话管理功能。
开发人员可以使用ASP 提供的会话对象(Session)来跟踪用户的登录状态,并限制特定页面的访问权限。
通过会话管理,ASP文件可以将用户的相关信息存储在服务器端,并在整个网站中共享和使用。
6.错误处理:ASP文件可以处理异常情况和错误信息。
开发人员可以使用ASP提供的错误处理机制来捕获和处理服务器端的错误。
这有助于提高网站的稳定性和可靠性,避免向用户显示不需要的错误信息。
7.缓存管理:ASP文件提供了对网页缓存的管理功能。
开发人员可以使用ASP提供的缓存对象(Cache)来缓存动态生成的内容,以提高网站的响应速度和性能。
通过适当地使用缓存管理,可以减轻服务器的负载和网络传输的负荷。
form提交数据编码梳理之前对form单提交的操作⼀直都是迷迷糊糊,知道怎么⽤,但是随着ajax2的出现,我们有更多的⽅式操作form表单提交,但是底层的原理我们要好好的做个梳理。
常见的form提交有post和get这两种形式,他们对各⾃的编码都有不同的理解,post适合⼤量数据的提交,语义上改变了数据状态,get是⼀种获取获取数据的⼀种形式,两者在编码上是有不同的实现。
关于编码的 form 标签的属性accept-charset:可以指定form编码形式enctype: 规定在发送表单数据之前如何对其进⾏编码。
有三种设置类型默认为application/x-www-form-urlencoded:发送前编码所有字符multipart/form-data:不对字符编码,包含⽂件上传控件的表单时,必须使⽤该值text/plain:空格转换为 "+" 加号,但不对特殊字符编码。
method:规定⽤于发送 form-data 的 HTTP ⽅法。
有 post 和 getmethod浏览器使⽤ method 属性设置的⽅法将表单中的数据传送给服务器进⾏处理。
共有两种⽅法:POST ⽅法和 GET ⽅法。
如果采⽤ POST ⽅法,浏览器将会按照下⾯两步来发送数据。
⾸先,浏览器将与 action 属性中指定的表单处理服务器建⽴联系,⼀旦建⽴连接之后,浏览器就会按分段传输的⽅法将数据发送给服务器。
在服务器端,⼀旦 POST 样式的应⽤程序开始执⾏时,就应该从⼀个标志位置读取参数,⽽⼀旦读到参数,在应⽤程序能够使⽤这些表单值以前,必须对这些参数进⾏解码。
⽤户特定的服务器会明确指定应⽤程序应该如何接受这些参数。
另⼀种情况是采⽤ GET ⽅法,这时浏览器会与表单处理服务器建⽴连接,然后直接在⼀个传输步骤中发送所有的表单数据:浏览器会将数据直接附在表单的action URL 之后。
这两者之间⽤问号进⾏分隔。
form表单提交的⼏种⽅式form表单提交的⼏种⽅式表单提交⽅式⼀:直接利⽤form表单提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><form action="http://localhost:8080/user" method="post">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="submit" value="登录"></form></body></html>controller页⾯代码:package com.help.demo.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class UserController {@PostMapping("/user")@ResponseBodypublic String add(String username,String password){System.out.println("返回值是》》"+username+"---->"+password);String str = "返回值是"+username+password;return str;}}完成后启动项⽬并访问http://localhost:8080/query.html 输⼊⽤户名和密码出现下图表⽰成》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》表单提交⽅式⼆:使⽤ajax提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><!-- --><form method="post" onsubmit="return false" action="##" id="formtest">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="button" value="登录" onclick="login()"></form><script type="text/javascript" src="/js/jquery.min.js"></script><script type="text/javascript" src="/js/jquery.easyui.min.js"></script><script type="text/javascript" src="/js/extJquery.js"></script><script type="text/javascript" src="/js/extEasyUI.js"></script><script type="text/javascript">function login() {$.ajax({//⼏个参数需要注意⼀下type: "POST",//⽅法类型dataType: "text",//预期服务器返回的数据类型如果是对象返回的是json 如果是字符串这⾥⼀定要定义text 之前我就是定义json 结果字符串的返回⼀直到额error中去/*dataType:要求为String类型的参数,预期服务器返回的数据类型。
form表单的action 与url跳转是不一样的:form表单可以给后台传递数据,url跳转到action只能通过url的参数来传递数据,不懂的朋友可以参考下
form表单的action 与url跳转是不一样的:
form表单可以给后台传递数据,在后台直接可以用request对象去向前台请求数据。
form表单传递数据有两种方式:
method="post":这是传递大量数据时用的,在数据传递之前会先将数据打包,因此这种传递数据的方式会效率会比较慢,但是穿过的数据都能正确解析,因此传中文不会有乱码。
method="get":以URL传递的,因为地址栏长度有限,所以对数据量是有限制的,而且传递的数据必须是ASCCI码值范围内的,因此,传中文会有乱码,需特殊处理。
url跳转到action只能通过url的参数来传递数据,action?参数名=参数值&……,在后台也可以用request对象去向前台请求url的参数值(url传中文参数需要进行特殊处理)。
ASP 表单和框架表单在Web网页中用来给访问者填写信息,从而能获得用户信息,使网页具有交互的功能。
一般是将表单设计在一个HTML文档中,当用户填写完信息后做提交(Submit)操作,于是表单的内容就从客户端的浏览器传送到服务器上,经过服务器上的ASP或者CGI等处理程序处理后,再将用户所需信息传送回客户端的浏览器上,这样网页就具有了交互性。
使用框架结构设计的HTML文件,能够将整个窗口分成几个独立的小窗口,每一个窗口可以分别载入不同的文件,并且各窗口之间还可以进行相互的操作。
1.表单标记<form></form>标记对用来创建一个表单,即定义表单的开始和结束位置,在标记对之间的一切都属于表单的内容。
<form>标志具有action、method和target属性,各属性如下:●Method 设定在表单传输的数据时到Web服务器的方法,有两种方法:get和post。
●Action 为了能接受浏览者所发送出的数据,在Web服务器内必须有一个服务程序来接收。
而Action属性则可以指定接收表单数据的程序所在地址。
●target 用来指定目标窗口或者目标帧。
可以使用<input type="">标记定义一个用户输入区域,用户可在其中输入信息。
此标记必须放在<form></form>标记对之间。
<input type="">标记共提供了8种类型的输入区域,具体是哪一种类型由type属性来决定,如表8-3所示。
表8-3 8种类型的输入区域字。
这个名字与输入区域是一一对应的,即一个输入区域对应一个名字。
服务器就是通过调用某一输入区域的名字的value属性来获得该区域的数据的。
而value属性是另一个公共属性,它可用来指定输入区域的缺省值。
使用<select></select>标记对可以创建一个下拉列表框或者可以复选的列表框。
在ASP中执行多个页面的表单提交假设现在你要在站点上建立一个多页面的订货表单,从而执行从站点通过email发给订单书写人,并假定这些单独的页面、页面的个数以及页面上的输入域都可以根据实际要订购的产品而改变。
如果我们将每个页面都分别提交给FrontPage的 email 向导或CGI 的email 程序,那么可怜的订单书写人就要为订单的每一页都收到一个单独的邮件信息。
当然我们可以通过session变量、隐藏域或查询字符串将订货数据从一页传递到另一页,但是在内存中储存这些数据会造成应用程序不平衡,另外潜在地需要大量的脚本。
而且当页面上的域变化时还必须要修改脚本代码,所以代码不太能够再利用。
如果能够写出一套脚本可以用在所有这些订单页面中,只把HTML页面的设计留给WEB设计者,那就太好了。
一个简单的答案是,将每个页面中的数据保存在一个文件中,然后将所有这些文件连接起,再将之用Email方式发送给订单书写人。
这种方法另外还有一个好处是如果愿意可以在硬盘上保持临时文件,那么在晚些时候用户可以继续一个未完成的订单。
最好的一点是,执行这一办法不需要第三方组件,而只需要session变量,ASP脚本和Scripting.FileSystemObject 对象。
首先要为这些单独的页面数据文件确定唯一的名字,这样在订单结束时可以将它们放在一起,并且不会被应用程序中的其它文件所覆盖。
同时,需要从单个session变量表示的文件进行聚合中,这样就不会偶然将一个旧session中的数据包含到当前的订单中。
由IIS所提供的Session变量("SessionID")在一个Session过程中在网络服务器上是唯一识别的,但是到了后面,Session就可以被复制。
(事实上,SessionID在以后会话Session时总是要被复制的,SessionID存储在客户机的一个cookie 中。
当网络服务器从客户机中接收到一个过去会话的SessionID时,若它没有被另一个活动会话所使用,就使用相同的值,这样就不用向浏览器发送另一个cookie了,有关的信息可以参见微软MSDN上的Managing Sessions。
html的两种提交按钮submit和buttonhtml按钮有两种:<input type="button" value="登录" onclick="login()"/>和<button onclick="login()">登录</button>这两种在页⾯上看起来好像⼀样没什么区别,但是这两种是有区别的。
1,如果在<form id="loginForm" name="loginForm" action="<%=path%>/hdlogin/login.action" method="post"></form>标签中,使⽤<input type="button" value="登录" onclick="login()"/>,要想提交form,你必须写成<input type="submit" value="登录" onclick="login()"/>,或者document.loginForm.submit();否则form是不会提交的。
2,如果在form中使⽤<button onclick="login()">登录</button>只要点击就会提交。
<button type="submit" value="登录" onclick="login()"/>。
今天在使⽤<button></button>时,我⼜在js控制表单提交,结果这个action总是莫名其妙的⾛两次!根源就是表单提交了两次,⼀次是<button></button>,⼀次是document.loginForm.submit();这个错误很隐蔽,⼤家以后要注意。
一、选择题1、下列属于中文简体字符集的是( B )A gbkB gb2312C big5D utf-82、以下哪个是vbscript 代码中用来注释的语句( A )A、’B、!C、 <!-- -->D、<-->3、下面哪个函数是用来将字符串中的大写字母转换为小写字母( A )A、ucase( )B、lcase( )C、 dcase( )D、left( )4、若要求VBScript的变量在使用前必须事先定义,则应使用( C )语句来设置。
A. Request B public C. Dim D. Option Explicit5、配置IIS时,设置站点的主目录的位置,下面说法正确的是( D )。
A 只能在本机的c:\inetpub\wwwroot文件夹。
B 只能在本机操作系统所在磁盘的文件夹。
C 只能在本机非操作系统所在磁盘的文件夹。
D 以上全都是错的。
6、关于ASP,下列说法正确的是( C )A 开发ASP网页所使用的脚本语言只能采用VBScript。
B 网页中的ASP代码同html标记符一样,必须用分隔符”<”和”>”将其括起来。
C ASP网页,运行时在客户端无法查看到真实的ASP源代码。
D 以上全都错误。
7、ASP脚本编程使用的语言是( C )A、DelphiB、VBC、VBScriptD、C#8、下列哪一种设置能使表格显示边框( B )A 在<td>中添加 border属性B 在<table>中添加border属性C 在<tr>中添加 border属性D 以上全都可以9、用于从客户端获取信息的ASP内置对象是( B )A ResponseB RequestC SessionD Application10、下列Response对象的用法错误的是( A )A <% (输出到浏览器信息) %>B <% = "输出到浏览器信息" %>C <% %>D 以上全都正确11、QueryString获取方法、Form 获取方法获取的数据子类型分别是:( C )A 数字、字符串B 字符串、数字C 字符串、字符串D 必须根据具体值而定12、下面程序段执行完毕,我们在浏览器中看到的内容是什么( A )<%%>A 新浪C 下划线D 该句有错,什么也不显13、关于Session对象的属性,下列说法正确的是( C )A Session的有效期时长默认为90秒,且不能修改。
电子商务网站建设试题1.在OSI参考模型中,实现用户应用程序间通讯功能的是()A.表示层B.应用层C.会话层D.传输层2.构成计算机网络的要素中不包括...()A.通信线路B.独立功能的计算机C.网络协议D.各类网站3.能够唯一标识数据表中数据记录的“字段”或“字段的组合”称为()A.主码B.外码C.查询D.表4.在模块结构图中,用表示()A.模块B.调用C.数据D.控制信息5.下列选项中,符合B2C电子商务模式特点的是()A.有严格的访问权限控制B.用户群固定,操作人的真实身份明确C.经常出现一次性客户D.需要签署具有法律意义的合同、协议6.定量的软件过程管理和产品质量管理两个关键过程属于CMM的()A.重复级B.定义级C.管理级D.优化级7.负荷测试和压力测试属于()A.性能测试B.功能测试C.链接测试D.安全性测试8.DELL公司的成功首先源于()A.产品创新B.技术创新C.管理创新D.经营模式创新9.CMM把软件开发组织的能力成熟度等级分为()A.3个B.4个C.5个D.6个10.统一软件开发过程(RUP)中的软件生命周期在时间上被分解为四个顺序阶段。
正确的顺序为()A.初始阶段、细化阶段、构造阶段和交付阶段B.初始阶段、构造阶段、细化阶段和交付阶段C.初始阶段、构造阶段、交付阶段和细化阶段D.初始阶段、细化阶段、交付阶段和构造阶段11.题11图中的模块结构图表示()A.顺序调用B.交叉调用C.判断调用D.循环调用12.组织结构与功能分析的基本工具不包括...()A.组织机构/物流关系图B.业务关系图C.问题分析图D.业务功能一览表13.电子商务发展的第一阶段是()A.基于EDI B.基于EFTC.基于Internet D.基于Intranet14.在电子商务网站的需求分析中,最重要的需求是()A.功能需求B.性能需求C.资源和环境需求D.安全保密需求15.下列安全交易标准中,用于信用卡交易安全的是()A.S-HTTP B.SSLC.STT D.SET16.下列安全措施中,属于安全管理手段的是()A.防火墙B.加密C.网络安全维护日志D.身份认证17.电子商务网站的基本功能不包括...()A.产品展示B.数据管理C.网上订购D.网上结算18.在IPv4中,用前24位二进制数来标识网络地址,用后8位二进制数来标识主机地址,这样的IP地址属于()A.A类地址B.B类地址C.C类地址D.D类地址19.邮件服务器使用的协议是()A.HTTP B.SMTPC.RAP D.DNS20.计算机程序设计语言分类中不包括...()A.人工语言B.机器语言C.汇编语言D.高级语言1.淘宝和易趣采用的典型电子商务模式是()A ) B2C B) B2B C) C2C D) B2G2.以下哪一项不属于电子商务技术参考模型中的外部环境接口EEI()A) 人机交互作用服务EEI B) 信息交互服务EEIC) 网络服务EEI D) 数据库服务EEI3.常用的浏览器端动态网页开发技术包括()A) vbscript B) javascript C) javaapplet D) 以上三项都正确4.以下哪种网络设备可以将协议转换、数据重组,实现两种以上不同类型网络系统之间的通信。
的Request对象Request对象功能是从客户端得到数据,常用的三种取得数据的方法是:Request.Form、Request.QueryString,Request。
其第三种是前两种的一个缩写,可以取代前两种情况。
而前两种主要对应的Form提交时的两种不同的提交方法:分别是Post方法和Get方法。
Request 对象的属性和方法比较多,常用的几个为:UserAgent 传回客户端浏览器的版本信息,UserHostAddress 传回远方客户端机器的主机IP 地址,UserHostName 传回远方客户端机器的DNS 名称,PhysicalApplicationPath 传回目前请求网页在Server 端的真实路径。
从浏览器获取数据利用Request方法,可以读取其他页面提交过来的数据。
提交的数据有两种形式:一种是通过Form表单提交过来,另一种是通过超级链接后面的参数提交过来,两种方式都可以利用Request对象读取。
<%@ Page Language="C#"%><%string strUserName = Request["Name"];string strUserLove = Request["Love"];%>姓名:<%=strUserName%>爱好:<%=strUserLove%><form action="" method="post"><P>姓名:<input type="TEXT" size="20" name="Name"></P><P>兴趣:<input type="TEXT" size="20" name="Love"></P><P><input type="submit" value="提交"></P></form>得到客户端的信息利用Request对象内置的属性,可以得到一些客户端的信息,比如客户端浏览器版本和客户端地址等等<%@ Page Language="C#"%>客户端浏览器:<%=erAgent %>客户端IP地址:<%=erHostAddress %>当前文件服务端物理路径:<%=Request.PhysicalApplicationPath %>Request 对象的属性UserLanguages 客户端主机所使用的语言UserHostName 客户端主机的DNS名称的Request对象userHostArrress 客户端主机的IP地址UserAgent 客户端浏览器版本Url 当前要求的URLTotalBytes 当前输入的容量大小ServerVariables 网页的Server变量RequestType 客户端网页的传送方式(Get/Post)RawUrl 当前页面的U『RLQueryString 浏览器地址栏后的参数PhysicalPath 当前网页在服务器端的实际路径PhysicalApplicationPath 当前在服务器端执行的程序的实际路径Pathq 当前网页的相对地址Params 返回QueryString、Form、Cookies、ServerVariables的全部集合IsSecureConnection 目前联机的安全性IsAuthenticated 目前联机是否有效HttpMethod 目前客户端网页的传送方式(Get/Post)Headers 网页的标题集合Form 窗体变量Files 客户端上传的文件FilePath 当前执行网页的相对地址Cookies HttpCookieCollection对象集合ContentType 当前需求的MIME内容类型ContentEncoding 客户端浏览器的字符设置-ConnectionlD 客户端所提出的网页浏览请求的联机的IDClientCertificate 客户端安全认证信息Browser 客户端浏览器的信息AnnlicationPath 当前运行程序的服务器端虚拟目录。
今天我主要要介绍的有如下知识点:HTML表单的提交方式HTM控件获取HTML表单内容乱码问题SQL注入服务器端表单HTML服务器控件HTML表单的提交方式对于一个普通HTML表单来说,它有两个重要的属性:action和method。
action属性指明当前表单提交之后由哪个程序来处理,这个处理程序可以是任何动态网页或者servlet或者CGI(Common Gateway Interface),在里面一般都是都aspx页面来处理。
method属性指明form表单的提交方式。
它有两个可能值get和post。
下面我们以一个例子来说明get和post的区别。
用Dreamweaver8创建两个aspx页面,分别为Register.aspx和GetUserInfo.aspx。
暂时我们不需要在GetUserInfo.aspx页面写任何代码,Register.aspx页面的代码如下:1.1.<%@Page Language="C#"ContentType="text/html"ResponseEncoding="gb2312" %>2.3.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">4.5.<html xmlns="/1999/xhtml">6.7.<head>8.9.<meta http-equiv="Content-Type"content="text/html; charset=gb2312" />10.11.<title>用户注册</title>12.13.</head>14.15.<body>16.17.<form action="GetUserInfo.aspx"method="get">18.19.<table border="1"width="400px">20.21.<tr><td colspan="2">用户注册</td></tr>22.23.<tr><td>用户名</td><td><input type="text"name="username" /></td> </tr>24.25.<tr><td>密码</td><td><input type="password"name="pwd" /></td> </tr>26.27.<tr><td><input type="submit"value="提交" /></td><td><input type="reset"value="重置" /></td></tr>28.29.</table>30.31.</form>32.33.</body>34.35.</html>36.将Register.aspx和GetUserInfo.aspx都保存到C:/Inetpub/wwwroot下,然后打开浏览器在地址栏中输入http://localhost/register.aspx,用户名和密码分别输入“zhoufoxcn”和“123456”,点击“提交”按钮,我们看到如下结果:注意上面的代码中“<form action="GetUserInfo.aspx"method="get">”这句,现在我们仅仅将method由“get”变成“post”,我们再次输入“zhoufoxcn”变成“123456”,提交表单,我们看到如下结果:细心的朋友可能会注意到,当我们以get方式提交的时候,在浏览器地址栏里除了接收参数的网页名之外,还有我们的表单名和参数值,在这里是“username=zhoufoxcn&pwd=123456”,而以post方式提交的时候地址栏除了接收参数的网页之外并没有这样参数。
ASP表单提交实例2实验二:表单提交实例一.实验目的掌握ASP中输入输出对象,即Rquest,Response对象二.实验内容1.简单的登录表单提交2.不同方式获取表单内容3.复杂表单的提交三.实验过程一)实例1:将表单form12的内容提交到form2.asp中。
知识点:Request.form的用法步骤:1、在dreamwaver中做好如下的表单。
文件为form122、查看修改其代码:请输入用户名:密码:带色部份为要修改的部份以post方式发送的表单。
接收时用request.form,此处接收表单文件名为form2.asp3、建立form2.asp:以下代码放入任何位置都可以,也可以直接在记事本中输入,然后修改其后缀。
<%name12=request.form("name1")'与前面form12中的名字要对应mma=request.form("password")response.write name12&"你好!欢迎你的到来!"%>4、运行在form12中输入刘敏。
密码654321观察运行结果及地址栏的变化二)表单提交实例2:用request.querstring方式获取。
知识点:ruqest.querystring的用法。
(其实无论request.form 还是request.querystring都可以用request代替.)实验过程:1、将以上表单form12另存为进行修改form1修改的地方,发送方法为get2、form2修改为<%name12=request.querystring("name1")mma=request.querystring("password")response.write name12&"你好!欢迎你的到来!"%>比较两者的区别,并查看浏览器地址栏后者地址栏为出现这么一长串:http://localhost/form2query.asp?name1=%B5%D8%C7%F8 %D0%D4%B5%C4%C8%B7%C1%BC&password=123456&Submit=%CC%E1%BD%BB也即你所输入的内容出现在地址栏三)实例3:结果显示同一页1、将上述表单form1另存为formself,将其action清空即2、将form2的代码复制到form1任何地方<%name12=request.querystring("name1")mma=request.querystring("password")response.write name12&"你好!欢迎你的到来!"%>四)实例4:表单用于计算两者数相加:1、表单1的界面为:请输入两个数第一个数:第二个数:2、表单2<%a=request.form("add1")b=request.form("add2")c=cint(a)+cint(b)response.write "ab之和为"&c%>运行结果一、表单功能用于计算你任意输入两个数的和,并将结果显示在自身表单1、做好界面2、在此表单中修改代码:请输入两个数第一个数:第二个数:<%if request.form("add1")<>"" thena=request.form("add1")b=request.form("add2")c=cint(a)+cint(b)response.write "ab之和为"&cend if%>如果将其中的if语名部份去掉请观察结果五)、实例5:复杂一点的表单提交1、test6_7.asp:这是表单界面制作。
详解flask表单提交的两种⽅式⼀.通⽤⽅式通⽤⽅式就是使⽤ajax或者$.post来提交。
前端html<form method="post" action="/mockservice" method = "post">...<div class="form-group"><label>data <font style="color:#a94442" size="2"><input class="form-control" id="data" name="data"></div><div class="form-group"><button id="start" type="submit" class="btn btn-default">Submit  </button></div></form>将操作绑定$(document).ready(function() {MockTask.start();});MockTask ={startId: "start_mock",start: function(){$('#'+this.startId).click(function (){ ...var data = $('#data').val();var form_data = JSON.stringify({..."data": data});MockSubmit.createTask(form_data);});},};MockSubmit = {createTask: function(data){var url = "/mockservice";$.post(url,data,function(result){if (result.code != 'SUCC'){alert("failed to create a new api.")} else {alert("succ");}});}};function isEmptyString(info) {if (info == null || info == undefined || info.length == 0){return true;}return false}这样通过js来实现提交表单的功能,然后flask后端@app.route("/mockservice",methods=['GET','POST'])def MockController():form = MockCreate()if request.method == 'POST':code = request.form['code']api = request.form['api']return ...通⽤⽅式的好处就是在其他框架中也适⽤。
[转载]几种表单提交方法的总结及get与post的区别1.一个表单,两个按钮,一个为submit提交表单,另一个为Button跳转页面页面中的form如下<form action="/mySSH/regedit.do" name="user" method="post"><span>名称:::</span><input type="text" name="username" id="username" value=""><br><span>password:::</span><input type="password" name="password" value=""><input type="submit" name="method" value="添加用户"> <input type="button" name="userList" value="用户一览" onClick="touserList()"></form>需要加入页面的javaScript:<SCRIPT language="javascript" type="text/javascript">function touserList(){window.location.href="userList.do";}</SCRIPT>2.一个表单,两个submit均用来提交表单,但是进行的处理不同页面中的form如下<form action="" method="get"><input type="submit" name="sumit1" value="用户注册" onClick="input(this.form)"><input type="submit" name="sumit2" value="用户一览" onclick="list(this.form)"></form>需要加入页面的javaScript:function input(form){alert("用户注册");form.action="input.do";form.submit();}function list(form){alert("用户一览");form.action="userList.do";form.submit();}3.通过所选radio的不同,进行不同的页面的跳转页面中的form如下<form action="" method="post"><input type="radio" name="radio1" value="0" checked="checked"><span>跳转到检索页面 </span> <input type="radio" name="radio1" value="1"><span>跳转到一览页面</span><input type="submit" value="页面跳转" onclick="redirect(this.form)"></form>需要加入页面的javaScript:function redirect(form) {if (form.radio1(0).checked){alert("跳转到检索页面");form.action="userSearch.do";form.submit();} else if (form.radio1(1).checked){alert("跳转到一览页面");form.action="userList.do";form.submit();}}PS:顺便写一下表单中的method属性的get和post的区别HTTP定义了与服务器交互的不同方法,最基本的方法是GET 和POST.HTTP-GET和HTTP-POST是使用HTTP的标准协议动词,用于编码和传送变量名/变量值对参数,并且使用相关的请求语义。