Ajax常用方式

前端之家收集整理的这篇文章主要介绍了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.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);

}

}

原文链接:https://www.f2er.com/ajax/163683.html

猜你在找的Ajax相关文章