首先来说说我对ajax的理解:简单地来说就是在不重新刷新页面的情况下,实现数据的调用获得更新。

我在这里介绍的是要过jquery封装好的ajax,大家可以去了解一下使用原生的XMLHttpRequest对象请求的知识点。

ajax的各种参数老是记不全,这次也来记录一下几个常用的。

1.url:发送请求的地址

2.type:要求为String类型的参数,请求方式(get/post)默认情况下是get。注意其他Http请求也可,例如put、delete等,但是要根据浏览器是否支持

3.timeout:设置请求超时的时长

4.async:是否为异步请求,默认设置为true,如果需要设未同步请求,修改为false即可

5.cache:默认true,false表示将不会从浏览器缓存中加载信息

6.daa:要求为Object或String类型的参数。发送到服务器的数据,如果不是字符串,将自动转换为字符串格式。

7.dataType:预期服务器返回回来的数据类型。可用类型:html(纯文本html信息)、xml、json、jsonp、text(返回纯文本字符串)

8.success:要求为Function()类型的参数,请求成功后调用的回调函数,存在两个参数。

(1)由服务器返回,根据dataType参数进行处理后的数据

(2)描述状态的字符串

function(data,textStatus){

  data可以是html、text等

}

9.error:要求为Function()类型的参数,请求失败后调用的回调函数

该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:
       function(XMLHttpRequest, textStatus, errorThrown){
          //通常情况下textStatus和errorThrown只有其中一个包含信息
          this;   //调用本次ajax请求时传递的options参数
       }

下面进入正题。

js部分代码:

msg接收后台传递的字符串数据,通过html的形式在客户端进行显示

 <sctipt type="text/javascript">
$.ajax({
type:"post",
url:"/Teachers/AjaxCheckLoginName",
dataType:"html",
data:"teaName="+$("#TeacherLoginName").val(),
async:true,
beforedSend:function(XMLHttpRequest){
$("#showResult").text("正在查询...") },
success:function(msg){
$("#showResult").html(msg);
$("#showResult").css("color","red")
}
});
</script>

这里使用ajax前你可以引用jquery3.4.1或者其他版本。

html部分代码(ASP.NET MVC视图):

 <label>账号</label>
@Html.TextBox("TeacherLoginName", null, new { @class = "form-control", type = "text", placeholder = "请输入账号" })
<input type="button" id="btn" value="查看此账号是否存在" onclick="IsFindTeaLoginName()" />
<div id="showResult" style="float:left"></div>
<br />

后台代码部分(控制器):

在后台定义返回值为string类型的方法,通过参数的形式接受ajax传递过来的文本框参数,拿到之后去数据库比较,存在就return一个字符

否则,就return "可以使用" 的字符串

 public string AjaxCheckLoginName(string teaName)
{
if (db.Teacher.Where(t => t.TeacherLoginName == teaName).ToList().Count > )
{
//Response.Write("");
return "用户名已经存在!";
}
else
{
//Response.Write("");
if (teaName=="")
{
return "请输入一个账号...";
}
else
{
return "您可以使用此用户名!";
} }
}

通过简单的ajax验证是否存在已有的用户名的更多相关文章

  1. 使用Ajax验证用户是否已存在

    在服务器端使用Servlet,里面在集合里存了几个字符串,没有对数据库操作. 前台input页面和Ajax验证: <%@ page language="java" conte ...

  2. 自制简单表单验证relative与absolute定位

    html结构,用到了label与span <label class="relative"><input type="text" name=&q ...

  3. jQuery结合Ajax实现简单的前端验证和服务端查询

    上篇文章写了简单的前端验证由传统的JavaScript转向流畅的jQuery滑动验证,现在拓展一下,使用Ajax实现用户体验比较好的异步查询,同样还是从建立一个简单的表单开始 <form nam ...

  4. jquery validationEngine 使用ajax验证不通过也提交表单

    转自 http://mylfd.iteye.com/blog/2007227 validationEngine给我们为前端的表单验证减少了很大的工作量.大部分情况我们使用validationEngin ...

  5. jquery validate ajax 验证重复的2种方法

    转载自:http://blog.51yip.com/jsjquery/1484.html jquery validate 经过这种多年的改良,已经很完善了.它能满足80%的验证需要,如果validat ...

  6. 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  7. JS表单验证插件(支持Ajax验证)

    自己编写了一个表单验证插件,支持ajax验证,使用起来很简单. 每个需要验证的表单元素下面有一个span标签,这个标签的class有一个valid表示需要验证,如果有nullable则表示可为空:ru ...

  8. jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证方式(jquery.validate.unobtrusive.js)

    最近在学习asp.netMVC,发现其中的验证方式书写方便快捷,应用简单,易学好懂. 验证方式基于jQuery的validate 验证方式,也可以说是对jQuery validate的验证方式的扩展, ...

  9. 无法在提交表单前通过ajax验证解决办法

    博主在一个小项目中,要实现注册表单无刷新验证用户名或密码,但是发现不管怎么样都无法在先通过ajax验证之前不提交表单. 例如:一个简单的验证函数 function check(){ $.post(&q ...

随机推荐

  1. 《前端之路》- TypeScript(二) 函数篇

    目录 一.定义函数方法 二.定义函数传参 三.可选传参 四.默认传参 五.传递剩余参数 六.函数重载 七.箭头函数 八.总结 一.定义函数方法 在 es5 中定时函数的方法有 命名函数和函数表达式(匿 ...

  2. libfastcommon总结(〇)

    libfastcommon提供众多基础功能,该系列笔记将进行学习介绍. load_local_host_ip_addrs 进行加载主机上所有网卡的IPv4的地址. iniLoadFromFile 从文 ...

  3. isEmpty 判空函数 内部分别判断是 null 空数组 等

    import { oneOf, isEmpty } from '@/libs/tools' export const isEmpty = (value) => { if (value == nu ...

  4. 适用于 macOS 下 2K 显示器开启 HiDPI 的简便解决方案

    前阵子入手了一款2k的显示器用于mbp的拓展屏幕,但由于苹果系统的严格限制,只有在4K及以上显示器上才能开启自带的HiDPI进行缩放以达到retina显示屏的效果.2k显示器下的字体会偏小发虚,使用1 ...

  5. File的功能--> 获取功能-->所有的根目录 | 创建文件功能,但是如果文件已经存在-->不再创建(新手)

    //导入的包.import java.io.File;import java.io.FileFilter;import java.io.IOException; // 获取功能-->所有的根目录 ...

  6. ngzorro draw 第一次打开 ERROR TypeError: Cannot read property 'overlayElement' of undefined

    at NzDrawerComponent.push../node_modules/ng-zorro-antd/fesm5/ng-zorro-antd.js.NzDrawerComponent.trap ...

  7. 物联网时代-新基建-ThingsBoard调试环境搭建

    前言 2020开年之际,科比不幸离世.疫情当道.经济受到了严重的损失.人们都不幸的感慨: 2020年真是太不真实的一年,可以重新来过就好了!国家和政府出台了拯救经济和加速建设的利好消息.3月份最热的词 ...

  8. System.Text.Json 序列化对所有 JSON 属性名称使用 camel 大小写

    asp.net core3.x 新增的序列号接口System.Text.Json 序列化时,如果要对所有 JSON 属性名称使用 camel 大小写 将 JsonSerializerOptions.P ...

  9. 更新Linux服务器时间

    1.修改系统时区(不修改的话,你同步时间会发现总是不对) ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime --这里我修改为了上海 2.安 ...

  10. 解决python3使用cx_Freeze打包成exe后不能运行

    我使用的是python3.4,在使用cx_Freeze打包成exe后发现有些打包后程序能够运行,但是有些无法运行 这是控制台报错 经过多方查找发现原来是windows缺少一些python的扩展包 如下 ...