**AJAX数据传输和响应实例**

这篇博客探讨了在AJAX数据传输过程中遇到的问题,如何通过eval("("+data+")")将接收到的对象转换为JSON格式。内容包括对Java页面的学习笔记和个人对知识点的理解,适合初学者参考。
摘要由CSDN通过智能技术生成

AJAX数据传输和响应实例

<script type="text/javascript">
		function login() {
			var un = $("#username").val();
			var pw = $("#password").val();
			$.ajax({
				url:"login",//请求服务器地址,与java WebServlet地址一致
				type:"post",//请求方式,get或post
				data:{username:un , password:pw},//传递到服务器的c数据参数
				dateType:"json", //服务器返回数据类型,自动类型转换,json
				success:function(data){
					$("#h3").html(""); //每次响应前清空
					var datas = eval("("+data+")"); //如果返回的是字符串不是json时用,转成Json,(json对象会报错)
					$("#h3").append(datas.message);
				}
			});
		}
	</script>

eval("("+data+")"),当时拿到数据一致是Object对象,视频中却是json,最后查资料才用了eval("("+data+")"),我也不知道为什么会这样,如果拿到的是json数据这步则可以不用写,不然会报错。

java页面

@WebServlet("/login")//服务器请求地址
public class LoginServlet extends HttpServlet {
	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		if(username == null || username.equals("")) {
			//当用户名为空时返回null信息
			JSONResult jsonresult=new JSONResult();
			jsonresult.setMessage(StaticData.USERNAME_NULL);//封装了,意思是“用户名不能为空”
			String json = JSONObject.fromObject(jsonresult).toString(); //JSONObject.fromObject--JSON与对象的转换
			response.setContentType(StaticData.UTF_8);//设置响应数据编码格式
			response.getWriter().print(json); //响应字符串数据
		}else if(password == null || password.equals("")) {
			//当密码为空时返回null信息
			JSONResult jsonResult = new JSONResult();
			jsonResult.setMessage(StaticData.PASSWORD_NULL);//封装了,意思是“密码不能为空”
			String json = JSONObject.fromObject(jsonResult).toString();
			response.setContentType(StaticData.UTF_8);
			response.getWriter().print(json);
		}else {
			
		}

初学java,对个人认为的知识点的整理,方便以后记忆。
见笑了。不足之处还请多多指教,谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值