实现ajax和json的调用
2015-09-02 10:31
721 查看
$(function () {
$('#tfeestype').change(function(){
var p1=$(this).children('option:selected').val();//这就是selected的值
var aj = $.ajax( {
url:'http://localhost:8088/grassinfo-web/api/first_statistic_change!ajaxReturn.action',// 跳转到 action
<!--data为传入后台action的参数,name为传入的参数-->
data:{
name:p1
},
type:'post',
cache:false,
dataType:'json',
<!--data是后台json返回值,与上面data不同,可任意取名-->
success:function(data) {
if(data!=null){
var str = "";
str += "<option value=\"null\" >请选择</option>";
$.each(data, function(i, n) {
str += "<option value=\""+ n.name +"\" >"+ n.name +"</option>";
});
$("#tfeeCounty").html(str);
}
}
public String ajaxReturn(){
String cityName = getReq().getParameter("name");
Object[] objdate = null;
UserData ud = new UserData();
StringBuffer ajaxSql = new StringBuffer();
ajaxSql.append("select res.country,res.mm from(select city, country, count(1) mm "
+" from (select substr(t.address, "
+" instr(t.address, '_', 1, 1) + 1, "
+" instr(t.address, '_', 1, 2) - "
+" instr(t.address, '_', 1, 1) - 1) city, "
+" substr(t.address, "
+" instr(t.address, '_', 1, 2) + 1, "
+" instr(t.address, '_', 1, 3) - "
+" instr(t.address, '_', 1, 2) - 1) country "
+"from tuser t "
+"where t.address is not null "
+"and t.address like '%浙江省%' "
+"and t.user_state = 1) t "
+"group by t.city, country)res where city='"+cityName+"'");
Map<String, UserData> ajaxMap = jdbcTemplate.query(ajaxSql.toString(),
objdate, new ResultSetExtractor<Map<String, UserData>>() {
@Override
public Map<String, UserData> extractData(ResultSet rs)
throws SQLException, DataAccessException {
int mapKey=0;
Map<String, UserData> map = new LinkedHashMap<String, UserData>();
try {
while (rs.next()) {
String county = rs.getString("COUNTRY");
String sum = rs.getString("MM");
UserData udData = new UserData();
udData.setName(county);
udData.setNum(Integer.valueOf(sum));
map.put(String.valueOf(mapKey), udData);
mapKey++;
}
//System.out.println(com.alibaba.fastjson.JSON.toJSONString(map));
} catch (Exception e) {
logger.error("getStatisticStat", e);
// e.printStackTrace();
}
return map;
}
});
getRes().setCharacterEncoding("UTF-8");
PrintWriter out = null;
try {
out = getRes().getWriter();
out.print(com.alibaba.fastjson.JSON.toJSONString(ajaxMap));
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.flush();
out.close();
}
}
return null;
}
$('#tfeestype').change(function(){
var p1=$(this).children('option:selected').val();//这就是selected的值
var aj = $.ajax( {
url:'http://localhost:8088/grassinfo-web/api/first_statistic_change!ajaxReturn.action',// 跳转到 action
<!--data为传入后台action的参数,name为传入的参数-->
data:{
name:p1
},
type:'post',
cache:false,
dataType:'json',
<!--data是后台json返回值,与上面data不同,可任意取名-->
success:function(data) {
if(data!=null){
var str = "";
str += "<option value=\"null\" >请选择</option>";
$.each(data, function(i, n) {
str += "<option value=\""+ n.name +"\" >"+ n.name +"</option>";
});
$("#tfeeCounty").html(str);
}
}
public String ajaxReturn(){
String cityName = getReq().getParameter("name");
Object[] objdate = null;
UserData ud = new UserData();
StringBuffer ajaxSql = new StringBuffer();
ajaxSql.append("select res.country,res.mm from(select city, country, count(1) mm "
+" from (select substr(t.address, "
+" instr(t.address, '_', 1, 1) + 1, "
+" instr(t.address, '_', 1, 2) - "
+" instr(t.address, '_', 1, 1) - 1) city, "
+" substr(t.address, "
+" instr(t.address, '_', 1, 2) + 1, "
+" instr(t.address, '_', 1, 3) - "
+" instr(t.address, '_', 1, 2) - 1) country "
+"from tuser t "
+"where t.address is not null "
+"and t.address like '%浙江省%' "
+"and t.user_state = 1) t "
+"group by t.city, country)res where city='"+cityName+"'");
Map<String, UserData> ajaxMap = jdbcTemplate.query(ajaxSql.toString(),
objdate, new ResultSetExtractor<Map<String, UserData>>() {
@Override
public Map<String, UserData> extractData(ResultSet rs)
throws SQLException, DataAccessException {
int mapKey=0;
Map<String, UserData> map = new LinkedHashMap<String, UserData>();
try {
while (rs.next()) {
String county = rs.getString("COUNTRY");
String sum = rs.getString("MM");
UserData udData = new UserData();
udData.setName(county);
udData.setNum(Integer.valueOf(sum));
map.put(String.valueOf(mapKey), udData);
mapKey++;
}
//System.out.println(com.alibaba.fastjson.JSON.toJSONString(map));
} catch (Exception e) {
logger.error("getStatisticStat", e);
// e.printStackTrace();
}
return map;
}
});
getRes().setCharacterEncoding("UTF-8");
PrintWriter out = null;
try {
out = getRes().getWriter();
out.print(com.alibaba.fastjson.JSON.toJSONString(ajaxMap));
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
out.flush();
out.close();
}
}
return null;
}
相关文章推荐
- json-lib 的maven dependency 一直找不到jar 包
- [转] Ext Grid (ExtJs)上的单击以及双击事件
- JS实现可点击展开与关闭的左侧广告代码
- JavaScript中this详解
- Javascript中this的指向
- 在JSP页面中输出JSON格式数据
- javascript学习总结之js使用技巧
- JS中style属性
- my97datepicker 日历在jsp中路径问题
- JSP页面中包含文件
- 常规功能和模块自定义系统(cfcmms)—006Extjs的目录结构和mvvm介绍
- js中的递归函数
- js实现获取当前时间的前几天日期
- js不加alert后面的代码不工作
- seajs学习一天后的总结归纳
- 如何把JavaScript数组中指定的一个元素移动到第一位
- JavaScript常用语句
- javascript基础1
- js的局部变量和全局变量的定义形式举例
- javascript学习总结之js使用技巧