使用Ajax发送Struts2请求返回JSON数据格式

1、ajax请求代码

首先导入jquery类库:

<script type="text/javascript" src="../../js/jquery-1.7.2.js"></script>

//经度数组
var longitudes=new Array();

//维度数组
var dimensionalitys=new Array();
//速度数组
var speeds=new Array();

function onclickSUbmit(){
$.ajax({
url:'/GPSDemo/showUserEquipmentPath.action',//发送请求
type:'post',//请求方式
dataType:'json',//返回数据类型

//请求回调结果
success:function(data){
longitudes.length=0;
dimensionalitys.length=0;
speeds.length=0;

//遍历响应回调数据
$.each(data.equipments,function(i,value){
//经度入栈
longitudes.push(value.longitude);
//维度入栈
dimensionalitys.push(value.dimensionality);

//速度入栈
speeds.push(value.speed);
});

//调用轨迹运行函数
run1(longitudes,dimensionalitys,speeds);
}
});
}

2、action类:

private List<Equipment> equipments;

public List getEquipments() {
return equipments;
}

public void setEquipments(List equipments) {
this.equipments = equipments;
}

public String showUserEquipmentPath() {

//action请求到数据库查找设备"1001"的轨迹保存到集合中

if (userEquipmentService.showUserEquipmentPath("1001") != null) {
//保存数据

equipments = userEquipmentService.showUserEquipmentPath("1001");
return SUCCESS;
}
return "error";
}

3、Struts.xml配置

必须继承json-default

<package name="MyPackage" extends="struts-default,json-default">
<!-- 显示设备信息Action -->
<action name="showUserEquipmentPath" class="net.nyist.gpsdemo.action.ShowUserEquipmentPathAction" method="showUserEquipmentPath">
<result name="success" type="json">
<!-- 下边指定转换为JSON包含的变量,想添加那些属性自己定义,中间为正则表达式-->
<param name="includeProperties">
equipments\[\d+\]\.dimensionality,equipments\[\d+\]\.longitude,equipments\[\d+\]\.speed
</param>
</result>
</action>

4、类库

除了Struts2和项目运行所必需的包之外还必须添加

struts2-json-plugin-2.3.7.jar

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...