ajax与json

2 篇文章 0 订阅

1.使用ajax提交数据

$("#btnEp").click(function(){
            var NewPassword = $("#txtNewPass").val();
            var ReNewPassword = $("#txtRePass").val();

         var temp = {"NewPassword":NewPassword};

          if(NewPassword == ReNewPassword && ReNewPassword.length>0 && ReNewPassword.length<10){
                $.post("UserAction_changePassword",temp,function(data){
                    alert(data);
                },"json")
            }
        });

注意:1.var temp = {"NewPassword":NewPassword};  js不会对文字进行处理的

             2.undefined与null是相等;NaN与任何值都不相等,与自己也不相等。

             3.只要是ajax写了为json数据格式时,alert出来的都是object

2.在struts中使用request接受数据

(1)String  NewPassword = (String) ServletActionContext.getRequest().getParameter("NewPassword");

注意:

3.使用工具类解析收到的数据


public void textjson(){
     String jsonStr = "[{'name':'jim','age':20},{'name':'king','age':26},{'name':'jge','age':30}]";
    
     JSONArray jsonArray = JSONArray.fromObject(jsonStr);
     String name = "";
     String age = "";
     for (int i = 0; i < jsonArray.size(); i++) {
     JSONObject jsonJ = jsonArray.getJSONObject(i);
     name = jsonJ.getString("name");
     age = jsonJ.getString("age");
     System.out.println(name+age);
     }
 }

jim20
king26
jge30

 注:将数据转换为json:http://blog.csdn.net/afdasfggasdf/article/details/78785027

 

4.页面js解析返回的json数据

注意:当使用ServletActionContext.getResponse().getWriter().write(f);向页面写数据用于判断的时候,页面并不知道

你写的类型,默认理解为对象所以js中写f=="1" 是不对的 ,这里应该先调用response说明ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");

注:将json直接发到页面解析为[data,data]

     我们在用ajax接受参数的时候,后面有参数json如果写了json表明传过来的参数必须是要满足json的格式条件:

        1{ "firstName": "Brett" }

        2{ "people": [

{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},

{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

]}

           如果不满足将会导致json无法解析,如果我们没写格式默认就是文本格式,这时想用作json数据读取的时候就

必须将转为json格式的数据var obj = eval ("(" + txt + ")");(官方方法但是不建议使用)

  1. var jsonlist = $('#list').val();   
  2. if(jsonlist != '[]'){   //判断是否为空,否则JSON.parse会报错         
  3.     //解析方法1  
  4.     var list = JSON.parse(jsonlist);  
  5.     var list = $.parseJSON(jsonlist);  
  6.     var list = jQuery.parseJSON(jsonlist);  
  7.       
  8.     //循环解析  
  9.     for(var i in list){//用for循环解析  
  10.         var mcid = list[i].mcid;//获取属性值       
  11.     }     
  12.     for(i = 0; i < list.length ; i++){//另一种for循环解析  
  13.         var mcid = list[i].mcid;//获取属性值  
  14.     }     
  15.     $(list).each(function(i,item){//用each循环  
  16.         var mcid = this.mcid;//获取属性值  
  17.         var mcid = list[i].mcid;//获取属性值  
  18.         var mcid = item.mcid;//获取属性值  
  19.     });




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值