liuzhen6835 2015-10-11 06:16 采纳率: 51.2%
浏览 1745

JQuery中ajax不能解析json

Action:
@Controller
@Scope("prototype")
@Namespace("/")
@ParentPackage("json-default")
public class OaAction extends ActionSupport
private String name;
private String pass;
private String msg;
@Action(value="/login",
results={@Result(name="success",location="/main.jsp"),
@Result(name = "login",type="json") })
public String login()
{
Map map = new HashMap();
if(name=="经理1" && pass=="123456")
{
//将数据存储在map里,再转换成json类型数据,也可以自己手动构造json类型数据
map.put("flag","true");
map.put("info","欢迎登陆");
JSONObject json = JSONObject.fromObject(map);//将map对象转换成json类型数据
msg = json.toString();//给msg赋值,传递给页面
return SUCCESS;
}
else
{
map.put("flag","false");

    map.put("info","用户名或者密码错误");

//将map对象转换成json类型数据,在此处打断点json有以下两个属性

nullObject : null;

propeties:{flag=false, info=用户名或者密码错误}
JSONObject json = JSONObject.fromObject(map);
msg = json.toString();//给msg赋值,传递给页面
return "login";
}
}
@JSON
public String getMsg()
{
return msg;
}
public void setMsg(String msg)
{
this.msg = msg;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public String getPass()
{
return pass;
}
public void setPass(String pass)
{
this.pass = pass;
}

jsp:


$(function(){
$('#lgbtn').click(function(){
var name=document.getElementById("uname").value;
var pass=document.getElementById("password").value;
$.ajax
({
url:"login.action",
dataType:"json",
type:"post",
data:"name="+name+"&pass="+pass,
async:false,
success:function(data)
{
//将数据转换成json类型,可以把data用alert()输出出来看看到底是什么样的结构
alert(data);//弹出对话框的内容为:Object object
var d = eval('('+data+')');
alert(""+d.flag+""); //没有弹出对话框

alert(""+d.info+"");

},
error:function()
{
alert("请求失败");//没有报请求失败
}
});

});
});

  • 写回答

1条回答

  • KD左耳 2015-10-12 07:41
    关注

    datatype:JSON;
    接收到的数据已经是json类型的数据了,你可以直接用data.info,data.flag;

    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮