前端验证,JQuery AJAX

非 Y 不嫁゛ 提交于 2020-02-27 18:37:15

尽量 不要使用,影响效率
给form表单设id
nice-validator是一款前端校验插件,引入插件

<script type="text/javascript" src="view/static/js/jquery.js"></script>
<script type="text/javascript" src="view/static/js/jquery.validator.min.js"></script>
<script type="text/javascript" src="view/static/js/zh-CN.js"></script>
$(function(){
  	  $('#myForm').validator({
  		    rules: {
  		        //自定义remote规则(注意:虽然remote规则已经内置,但这里的remote会优先于内置)通过后台验证
  		        //验证账号是否存在,ajax后台验证
  		        remote : function(element){
  		        	/* alert(element.name);
  		        	alert(element.value); */
  		            return $.ajax({
  		                url: 'assertionStaff',
  		                type: 'post',
  		                data: element.name +'='+ element.value,
  		               /*  dataType: 'json',  */
  		                success: function(d){
  		                  window.console && console.log(d); 
  		                }
  		            });
  		        	
  		        },
  		     myRemote : function(element){
		            return $.ajax({
		                url: 'assertionUserMessage',
		                type: 'post',
		                data: element.name +'='+ element.value,
		                dataType: 'json', 
		                
		            });
		        	
		        },
  		    },
  		    fields: {
  		    	//输入框name    条件
		        'mail': 'required; email;' ,
		        'name': 'required; remote;' ,
		        'age': 'required; digits;' ,
		        'phone': 'required; mobile;' ,
		        'name': 'required;' ,
		        'address': 'required;' 
  		    }
  		 
  		});
    });
   </script>

json中contentType类型

$.ajax contentType 和 dataType , contentType 主要设置你发送给服务器的格式,dataType设置你收到服务器数据的格式。

在http 请求中,get 和 post 是最常用的。在 jquery 的 ajax 中, contentType都是默认的值:application/x-www-form-urlencoded,这种格式的特点就是,name/value 成为一组,每组之间用 & 联接,而 name与value 则是使用 = 连接。如: wwwh.baidu.com/q?key=fdsa&lang=zh 这是get , 而 post 请求则是使用请求体,参数不在 url 中,在请求体中的参数表现形式也是: key=fdsa&lang=zh的形式。

发现 http 还可以自定义数据类型,于是就定义一种叫 application/json 的类型。这种类型是 text , 我们 ajax 的复杂JSON数据,用 JSON.stringify序列化后,然后发送,在服务器端接到然后用 JSON.parse 进行还原就行了,这样就能处理复杂的对象了。

$.ajax({
dataType: ‘json’,
contentType: ‘application/json’,
data: JSON.stringify({a: [{b:1, a:1}]})
})

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!