Ajax常用方式

一、基本用法(发送请求、接收返回值);

    1、js代码

    $.ajax( {

    type :"POST",url :"/text.action?name="+name+"&user.id="+id,//后面name/id为变量

    dataType :"json",async :false,

    success : function(result) {

         alert("result"+result);

       }

    });

      或者将url和参数分开写:

      url:"text.action", 

      type:"post", 

      data:{"user.id":id,"name":name},

    2、action配置

      extends="json-default"//pakage的继承属性

     <action name="test" class="societyPPSAction" method="test">

     <result type="json">

  <param name="root">result</param>

      </result>

     </action>

    3、action中代码

         private String result;

         public String test() {

                ......

                ......

                this.result="succ"; //可给result赋值json串     

              return SUCCESS;

          }


    相关定义:

    JSON:JavaScript 对象表示法(JavaScript Object Notation)。

    JSON 是存储和交换文本信息的语法。类似 XML。

    JSON 比 XML 更小、更快,更易解析。


二、json数据封装

    1、action中封装json格式的对象数组(转为字符串传输)

    List<Prize> list=prizeService.ajaxQueryList(prizes);

    JSONArray jArray=new JSONArray();

    if (list!=null&&list.size()>0) {

         for(Prize all:list){

             JSONObject object=new JSONObject();

             object.put("id", all.getId());

             object.put("name", all.getName());

             object.put("price", all.getPrice());

             jArray.add(object);

          }

      result=jArray.toString();

    }

    2、action中封装json格式的对象(含对象数组)

    JSONObject prizeJson=new JSONObject();
    prizeJson.put("allRow", pageBean.getAllRow());

    List<Prize> list=prizeService.ajaxQueryList(prizes);

    JSONArray jArray=new JSONArray();

    if (list!=null&&list.size()>0) {

         for(Prize all:list){

             JSONObject object=new JSONObject();

             object.put("id", all.getId());

             object.put("name", all.getName());

             object.put("price", all.getPrice());

             jArray.add(object);

          }

        prizeJson.put("prizeArray", jArray);

        result=prizeJson.toString();

    }

三、json数据解析

    1、js中解析json格式的对象数组的字符串

       success : function(result) {

         var jsonArray=eval("("+result+")");//随意定义一个变量接收解析后的json数组

         for(var i=0;i<jsonArray.length;i++){

            alert(result[i].id); 

            alert(result[i].name);

         }

       }

      方法说明:eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误。

    2、js中解析json格式的对象(含对象数组)的字符串

       success : function(result) {

         var json=eval("("+result+")");//随意定义一个变量接收解析后的json对象

         alert(json.allRow);

         for(var i=0;i<json.prizeArray.length;i++){

            alert(json.prizeArray[i].id); 

            alert(json.prizeArray[i].name);

         }

       }


你可能感兴趣的:(Ajax,json,ajax请求,常用属性)