今天在做一个简单的登陆功能时,当一切准备就绪,点击登陆时,什么都没发生。。然后开始debug,打断点调试,然后发现了这个。向页面传递数据flag是true代表该用户的账号密码验证码等信息正确可以登录,那怎么会没有响应呢,后来测试发现

$(function () {
//1.给登录按钮绑定单击事件
$("#btn_sub").click(function () {
//2.发送ajax请求,提交表单数据
$.post("loginServlet",$("#loginForm").serialize(),function (data) { //data : {flag:false,errorMsg:''}
alert(data);//{"flag":true,"data":true,"errorMsg":null}
alert(data.flag); //undefined if(data.flag){
//登录成功
alert("登陆成功");
location.href="index.html";
}else{
//登录失败
alert("登陆失败");
$("#errorMsg").html(data.errorMsg);
}
});
});
});



我看着获取json数据的格式应该没错啊。。后来在网上有人提示用javascript的eval函数,我以前没接触过这个函数,所以在W3school查到了这个家伙。

定义和用法
eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法
eval(string)
参数 描述
string 必需。要计算的字符串,其中含有要计算的 JavaScript 表达式或要执行的语句。
返回值
通过计算 string 得到的值(如果有的话)。
说明
该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

如果试图覆盖 eval 属性或把 eval() 方法赋予另一个属性,并通过该属性调用它,则 ECMAScript 实现允许抛出一个 EvalError 异常。

然后将以上代码修改为


$(function () {
//1.给登录按钮绑定单击事件
$("#btn_sub").click(function () {
//2.发送ajax请求,提交表单数据
$.post("loginServlet",$("#loginForm").serialize(),function (data) { //data : {flag:false,errorMsg:''}
alert(data);//{"flag":true,"data":true,"errorMsg":null} data=eval("("+data+")");//通过eval将()中的字符串以js形式执行 alert(data.flag);//true if(data.flag){
//登录成功
alert("登陆成功");
location.href="index.html";
}else{
//登录失败
alert("登陆失败");
$("#errorMsg").html(data.errorMsg);
}
});
});
});

结果:登录成功,跳转到首页。



以上有错误,欢迎大家补充,边学习,边成长。

获取json格式的数据变成了undefined!?的更多相关文章

  1. Android Volley获取json格式的数据

    为了让Android能够快速地访问网络和解析通用的数据格式Google专门推出了Volley库,用于Android系统的网络传输.volley库可以方便地获取远程服务器的图片.字符串.json对象和j ...

  2. C# 语言如何获取json格式的数据,不用javascript用c#实现。。。

    {'state' : 1,'data':{'list':[{'id': 123, 'name': '诸葛天邪','level': 10,'country': 1,}]}} 比如我要获取里面的 id 该 ...

  3. Spring拦截器从Request中获取Json格式的数据

    7 package com.newpp.core.interceptor; 8 9 import java.io.BufferedReader; 10 import java.io.ByteArray ...

  4. 中文格式python 打印json格式的数据中文显示问题

    废话就不多说了,开始... 平日会有这么一个应用场景,会用python去处置json格式的web API,以“ip.taobao.com”的API为例,详情见http://ip.taobao.com/ ...

  5. jQuery中使用Ajax获取JSON格式数据示例代码

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于“名称”和“值”的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中 ...

  6. jQuery获取JSON格式数据方法

    getJSON方法: jQuery.getJSON(url,data,success(data,status,xhr)) $("button").click(function(){ ...

  7. struts2使用jsp和<s:property>标签获取json格式的返回数据

    struts2使用jsp和<s:property>标签获取json格式的返回数据 1.struts2的action中 return "success"; 2.指向的返回 ...

  8. 数据库获取map数据后转化成json格式的数据

    一,从数据库查出来的数据 两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)见这个博文的最后一张图片 ...

  9. json格式的数据及遍历:

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

随机推荐

  1. block、inline、inline-block区别以及标签嵌套

    1.block 将元素转为块元素,块元素占一行,可以设置宽和高. 2.inline 将元素转为行内元素,占一行,不可以设置宽和高. 3.inline-block 将元素设置为行内块元素,这时元素既可以 ...

  2. Linux下查看目录文件大小

    1.ls -lht 查看当前目录下文件的大小 2.du -sh 查看当前文件夹的大小

  3. Elastic Search 学习之路(一)

    一.基本概念及缘由 1.Sql vs nosql SQL:Structured Query Language Nosql:Not only SQL Relationship DB Relations: ...

  4. react第一单元(简介)

    第一单元(react简介) 课程目标 理解react这个框架在前端开发中的地位 理解react诞生的原因和意义(react是一个用于快速构建前端视图的javaScript库) 理解什么是虚拟dom.原 ...

  5. 移动端 FileReader文件上传

    一.file上传文件 <input type="file" multiple>   multiple 设置多选 通过change事件监听是否上传文件 files 属性获 ...

  6. php 文件上传错误

    假设文件上传字段的名称img,则: $_FILES['img']['error']有以下几种类型 1.UPLOAD_ERR_OK 其值为 0,没有错误发生,文件上传成功. 2.UPLOAD_ERR_I ...

  7. RabbitMq基本概念理解

    RabbitMQ的基本概念 RabbitMQ github项目地址 RabbitMQ 2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的 消息中间件 ...

  8. Spring Cloud 入门教程(二): 服务消费者(rest+ribbon)

    在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+r ...

  9. PHP功能代码片段

    1.连接MYSQL数据库代码  <?php  $connec=mysql_connect("localhost","root","root&qu ...

  10. 去掉关闭按钮同时禁用alt+f4进行关闭

    public int ctype = 0; private const int GWL_STYLE = -16; private const int WS_SYSMENU = 0x80000; [Sy ...