日期:2014-05-18  浏览次数:20802 次

关于json后台传值到前台页面的问题
String data="{\'judge\':1}";

现在想要将上面的字符串传值到前台HTML文档的js中。事先有用Ajax进行传值到后台:

$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){
alert("yes!");
alert(data[0].judge);
},"json");


问,怎么安全得到judge对应的值!
求知道的小伙伴给点建议!
么么哒!
------解决方案--------------------
alert(data[0].judge);这个有值输出没有。
------解决方案--------------------

$.ajax({  
type: "POST",  
url:"LoginAction.action", 
data:{"id":$("#id").val(),"psw":$("#psw").val()}, 
dataType:'json',
success: function(data){
           alert(data);
           }    
)


你看看这样
------解决方案--------------------
你的action是啥样的?可以写入到流内,页面是可以获取的。
------解决方案--------------------
不写了,给你找一个例子参考吧。点这里
------解决方案--------------------
dataType: "json",加上这个。
同时如果不行,用javascript将字符串转化为json
------解决方案--------------------
你用severlet啊,很简单的。
------解决方案--------------------
response.getWrite.write(data.toString())
------解决方案--------------------
$.post("LoginAction.action",{"id":$("#id").val(),"psw":$("#psw").val()},function(data){
            alert("yes!");
      var val= eval(data);
            alert(val[judge]);
        },"json");

你的字符串也转不成数字不能用data[0]取值。
如果你的字符到前台了 ,这眼更就能输出了。
------解决方案--------------------
你的后台写法对吗  ajax 还有return?
------解决方案--------------------
你这个返回状体是成功了,走了后台 ,但是后台你也没有给前台值啊
------解决方案--------------------
response.setCharacterEncoding("utf-8");
PrintWriter pw = response.getWriter();
pw.print(json);
pw.flush();

后台的字符串这样输出,你用ajax 就不用转发了。直接return null ;就行了
------解决方案--------------------
a code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public String execute() throws IOException{
        System.out.println(id+"  "+psw);
        if(coi.LoginValidation(id, psw)){
            System.out.println("yes!");
             
        String data="{\'judge\':1}";            
        Gson gson=new Gson();
        gson.fromJson(data, Gson.class);
        System.out.println(data.toString());
response.setCharacterEncoding("utf-8");
PrintWriter pw = response.getWriter();
pw.print(data);
pw.flush();
   &nb