ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码

news/2024/5/20 22:48:15/文章来源:https://blog.csdn.net/weixin_34302561/article/details/93387170

  首先提出一个问题:在做网站开发的时候,用到了验证码来防止恶意提交表单,那么要如何实现当验证码错误时,只是刷新一下验证码,而其它填写的信息不改变?

  先说一下为什么有这个需求:以提交注册信息页面为例,一般注册都需要用户填一个验证码信息(防止机器恶意注册),并且这个验证码会提交到后台去进行比对,若是错了则不会检查其他提交信息而直接返回浏览器端提示验证码错误。若是简单地用form表单直接将数据提交到指定的url,当验证码填写错误的信息返回浏览器端的时候,不可避免整个页面都会重新刷新一次,这是用户所不想要的,因为其它的一些正确信息还需要重新再填一次,这样就造成用户体验不太好。而这个问题就可以通过Ajax异步提交表单来实现。(这只是其中一种解决方案)

   下面就来看看具体的实现:

   前台Html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Ajax异步提交表单之检查验证码</title></head><body><form action="javascript:AjaxPostData()" method="post"><label>用户名:</label><input name="account" class="form-control" id="account" type="text" placeholder="用户名" required="required" /><label>密码:</label><input name="password" class="form-control" id="password" type="password" placeholder="密码" required="required" /><label>验证码:</label><img id="valiCode" class="validcode" src="/Home/GetValidateCode" alt="验证码" title="点击刷新" /><input name="code" class="form-control" id="code" type="text" placeholder="验证码" required="required" /><button type="submit">提交</button></form><script src="~/Scripts/jquery-1.12.1.min.js"></script><script>//刷新验证码function RefreshValiCode() {document.getElementById("valiCode").src = "/GetValidateCode?time=" + (new Date()).getTime();}function AjaxPostData(){var code = document.getElementById("code").value;var account = document.getElementById("account").value;var password = document.getElementById("password").value;$.ajax({url: '/User/Register',//数据提交到的目标url
            type: 'post',//post方式提交
            async: true,//异步提交
            data: {account: account, password: password, code: code },//提交的数据
            success: function (data) {//发送成功的回调函数if (data.success) {alert("注册失败!");}else {alert("注册成功!");RefreshValiCode();//刷新验证码
                    document.getElementById("code").value = "";//置空输入框
                }},error: function () {alert("请求失败!请重新提交!");}});}</script></body>
</html>
View Code

  注:jquery-1.12.1.min.js需要自己下载引用。

 

   后台C#代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security;namespace Test.Controllers
{public class UserController : Controller{/// <summary>/// 注册/// </summary>/// <param name="code">验证码</param>/// <returns></returns>
        [HttpPost]public ActionResult Register(string name, string password, string code){//Session["RegisterCode"]在生成验证码的时候设置其值if (string.IsNullOrWhiteSpace(code) || Session["RegisterCode"].ToString().ToUpper() != code.ToUpper()){return Json(new { success = false});}else{//其它操作...return Json(new { success = true});}}}
}
View Code

 

  此次知识分享就到这,敬请期待下一次的分享。^_^

 

<我的博客主页>:http://www.cnblogs.com/forcheng/

<Wing工作室主页>:http://www.wingstudio.org/

转载于:https://www.cnblogs.com/forcheng/p/5575194.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_833133.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高并发量网站解决方案

2019独角兽企业重金招聘Python工程师标准>>> 一个小型的网站&#xff0c;可以使用最简单的html静态页面就实现了&#xff0c;配合一些图片达到美化效果&#xff0c;所有的页面均存放在一个目录下&#xff0c;这样的网站对系统架构、性能的要求都很简单。随着互联网业…

Docker -- 2 -- 利用docker部署网站和数据库

在Docker – 系统整洁之道 – 1中已经对Docker的一些命令和Docker镜像的使用及操作做了记录。 这次就利用docker进行一次真正的实例使用&#xff0c;使用docker搭建一个简单的答题系统&#xff0c;这个系统是当时做来给网络安全周做手机答题的系统&#xff0c;很简单&#xff…

《淘宝店铺 大数据营销+SEO+爆款打造 一册通》一一2.1 生意参谋平台概述

本节书摘来自异步社区出版社《淘宝店铺 大数据营销SEO爆款打造 一册通》一书中的第2章&#xff0c;第2.1节&#xff0c;作者&#xff1a;葛存山 , 耿寿礼&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 第2章 生意参谋——大数据分析利器 淘宝店铺 大数据…

[资源推荐] 必须收藏的两个查找论文和代码实现的网站!

参考自&#xff1a;https://juejin.im/post/5c57f86c51882562002aec03 无论是研究方向是 AI 方面的学生&#xff0c;或者是做机器学习方面的算法工程师&#xff0c;在掌握基础的机器学习相关知识后&#xff0c;都必须掌握搜索论文的技能&#xff0c;特别是研究或者工作领域方向…

再陷风波 Equifax又一门户网站被曝安全漏洞

近日&#xff0c;美信用机构Equifax被证实公司在今年5月到7月期间&#xff0c;遭到黑客攻击&#xff0c;导致约有1.43亿用户数据遭到泄露。现在&#xff0c;又一个Equifax门户网站被指出存在安全协议问题。 据最先发现问题的Hold Security LLC指出&#xff0c;一个来自阿根廷名…

ASP.NET Core 一步步搭建个人网站(4)_主页和登录验证

上章节我们已经定制好动态配置的菜单&#xff0c;用户登录网站的第一步就是进入首页内容&#xff0c;那我们先搭建一下我们的首页内容。想着自己的网站内容主要是个人博客类型&#xff0c;所以&#xff0c;首页就展示博主本人的一些基本信息吧&#xff0c;哈哈。当然&#xff0…

Java裸写爬虫技术,运用多线程技术,高效爬取某个医疗机构网站数据

最近喜欢上了数据的庞大的感觉&#xff0c;就爬取了一下某个医疗机构网站医疗数据&#xff0c;由于数据量庞大&#xff0c;只爬取了江西省的各个市的各个医院的各个科室的各个科室。中各种信息。其中用的持久层技术是hibernate框架&#xff0c;和用到一些ioc技术。话不多说&…

解决登录同一个网站,连接失败

2019独角兽企业重金招聘Python工程师标准>>> 程序报错 MaxRetryError: HTTPConnectionPool(host127.0.0.1, port53742): Max retries exceeded with url: /session/7e0b607f-022e-4464-9eb3-461844f59b84/window/maximize (Caused by NewConnectionError(<urllib…

Awesome 书籍源码论文软件下载网站整理

software.informerAAAI会议论文下载Packt出版商的书籍开源代码&#xff0c;目前已经超过6600个仓库

在IIS管理器添加网站

1.添加物理路径 2.跨域问题解决方案 A.点击所创网站出现如图所示&#xff0c;双击HTTP响应标头 B.右键–“添加”&#xff0c;添加以下2条&#xff1a; Access-Control-Allow-Headers&#xff1a;Content-Type, api_key, Authorization Access-Control-Allow-Origin&#xf…

超全Inventor 3d模型素材网站整理

家人们&#xff0c;最近我找到了一个很好用的Inventor 3d模型免费素材网站 本人曾经也是废大把时间寻找资源&#xff0c;质量还不咋地&#xff0c;但是通过朋友安利&#xff0c;知道了一个很好的网站&#xff1a;爱给网&#xff0c;里面资源内容丰富&#xff0c;并且可以一键下…

良心安利电梯过道su模型素材网站

电梯过道su模型类资源应该算是素材类网站中必不可少的资源类型了吧~今天给大家推荐超好用&#xff0c;免费质量高的素材噢&#xff0c;让你坐拥海量资源同时又不撞款&#xff01; 免费资源最多&#xff0c;又全面的&#xff0c;那就是 爱给网啦&#xff01; 它有很多素材&…

宝藏又小众的灯饰装修设计素材网站分享

今天小编针对灯饰装修设计素材为大家整理了很多内容哦&#xff0c;肯定有需要的小伙伴吧&#xff0c;实用、免费、优质的素材谁又不心动呢&#xff01;赶紧码住&#xff01; 免费资源最多&#xff0c;又全面的&#xff0c;那就是 爱给网啦&#xff01; 它有很多素材&#xff0…

超全教育cc0高清摄影图片素材网站整理

天天各大网站找教育cc0高清摄影图片素材&#xff1f;最后空手而归&#xff1f;今天为大家推荐教育cc0高清摄影图片素材网站&#xff0c;质量上乘适合资源慌缺的你&#xff0c;话不多说准备开始收藏吧&#xff01; 接下来就给大家介绍一下我珍藏已久的网站&#xff0c;我的工作…

超全园林 景观cc0高清摄影图片素材网站整理

看到大家都在问园林 景观cc0高清摄影图片素材&#xff0c;既要免费又要质量好&#xff0c;数量还要多&#xff0c;小编好不容易挖到了宝藏素材网站哦&#xff0c;资源优质数量庞大&#xff0c;使用体验也很好&#xff0c;要是需要的话&#xff0c;赶紧看一看&#xff0c;小编会…

良心安利食物 美食免抠元素素材网站

天天各大网站找食物 美食免抠元素素材&#xff1f;最后空手而归&#xff1f;今天为大家推荐食物 美食免抠元素素材网站&#xff0c;质量上乘适合资源慌缺的你&#xff0c;话不多说准备开始收藏吧&#xff01; 本人曾经也是废大把时间寻找资源&#xff0c;质量还不咋地&#xf…

宝藏又小众的线条免抠元素素材网站分享

最近看到很多朋友吐槽线条免抠元素素材不好找&#xff0c;有时花了大把时间却没找到合适的&#xff0c;而且有的时候会涉及到各种问题等&#xff0c;不仅工作效率降低&#xff0c;还闹心郁闷&#xff0c;所以今天就给大家分享一下小编自己在亲身体验和搜寻网站中&#xff0c;收…

最良心的网站可以良心到什么程度?

之前就在爱给网下载过音频&#xff0c;最近点进爱给网首页&#xff0c;发现爱给网上新了一系列在线小工具。不收费&#xff0c;完全免费&#xff0c;没有广告&#xff0c;页面简约&#xff0c;真的是很惊喜&#xff0c;迫不及待分享给大家&#xff0c;今天先跟大家分享一下我使…

良心安利企业内部管理设计模板素材网站

今天小编针对企业内部管理设计模板素材为大家整理了很多内容哦&#xff0c;肯定有需要的小伙伴吧&#xff0c;实用、免费、优质的素材谁又不心动呢&#xff01;赶紧码住&#xff01; 免费资源最多&#xff0c;又全面的网站&#xff0c;我找到啦&#xff01;&#xff01;它有很…

宝藏又小众的家具构件ps后期素材素材网站分享

今天小编针对家具构件ps后期素材素材为大家整理了很多内容哦&#xff0c;肯定有需要的小伙伴吧&#xff0c;实用、免费、优质的素材谁又不心动呢&#xff01;赶紧码住&#xff01; 本人曾经也是废大把时间寻找资源&#xff0c;质量还不咋地&#xff0c;但是通过朋友安利&#…