$.post的dataType类型参数与Javascript的eval函数

jQuery.post()看起来是不是挺怪啊,其实不就是$.post()嘛,哈哈哈。

众所周知,$.post非常好用也非常常用,它的四大参数也是赫赫有名,如下:

$.post(url,data,function,dataType);

OK,前三个参数比价简单,分别是url:请求抛给的地址;data:请求携带的参数;function请求执行成功后回调的函数;

第四个其实也挺重要的,就是服务器响应的数据类型,一般指的是xml、json。需要注意的是啥捏,如果这个参数你不指定(当然data、function、dataType都是可选参数,都可以不指定),服务器返回的数据,会默认的是字符串格式哦。

所以如果指定了是json格式的话,我们对返回的数据就可以执行进行对象化的操作,如果没指定的话,就需要先用eval()函数转换为对象再进行操作了。

举个栗子如下,这是个登录的例子,$.post()没有使用dataType参数,所以针对返回的function(data){}中的data其实是个字符串,需要var result=eval(’(’+data+’)’);进行转换。如果添加上参数dataType为json类型,那就直接var result=data或者直接对data进行操作即可。

PS:注意后端返回的数据为:out.print("{“success”:false}");

	<script type="text/javascript">
		function login(){
			var userId=$("#userId").val();
			var userPassword=$("#userPassword").val();
			if(userId===""||userPassword===""){
				$.messager.alert('提示','员工编号及密码不能为空!','info');
				return false;
			}
			$.post("/BankStatistics/LoginServlet?ran='+Math.random()",
				{userId:userId,userPassword:userPassword},
				function(data){
					var result = eval('('+data+')');
					if (result.success===true){
						window.location.href="main.jsp";
			        	return true;
					}
					else{
						$.messager.alert('提示','员工号或密码有误,请核准!','info');
						return false;
					}
				}//function(data)
	        );//$.post
		}//login()
	</script>

如有问题请扫码联系我
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页