ajax请求一直失败,实在看不出哪错了,后台可以获得请求数据,map里面都有值,但一到return,jsp页面就显示 ajax请求失败,,,求大神拯救
$.ajax({
cache:true,
url:"oil/json.html",
type:"get",
data:$('#myForm').serialize(),
dataType:"json",
success:function(data){
var d1 = data.rq;
var d2 = data.rcql;
alert(d1);
alert(d2);
},
error:function(){
alert("ajax fail!")
}
});
@RequestMapping(value="json.html")
@ResponseBody
public Map<String, List> getRqAndRcql(Oil oil,
@RequestParam String jh,String startRq,String endRq,float scsj){
Map<String, List> map1 = new HashMap<String, List>();
List<String> rqs = new ArrayList<String>();
List<Double> rcqls = new ArrayList<Double>();
//获得页面请求数据
oil.setJh(jh);
oil.setStartRq(startRq);
oil.setEndRq(endRq);
oil.setScsj(scsj);
//调用业务层获得日期和日产气量
List<Oil> list = obiz.getRqAndRcql(oil);
//获得日产气量数组
for (Oil oil2 : list) {
rcqls.add(oil2.getRcql());
System.out.println(oil2.getRcql());
}
//获得日期数组
for (Oil oil2 : list) {
rqs.add(oil2.getRq());
}
map1.put("rq", rqs);
map1.put("rcqls", rcqls);
return map1;
}
这个AJAX请求发到后端了么?如果没有的话 把url:"oil/json.html" 改成 url:"/oil/json.html"试试
ajax传输的是字符串,map对象的话你换成json试试。
我把URL改成url:"oil/json" 就好了,不知道为啥,其它的url都不行,但我下面这个请求url怎么改都可以
//返回json数据
@RequestMapping(value="jsosss")
@ResponseBody
public Map<String, List> getJson(){
Map<String, List> map = new HashMap<String, List>();
List<Double> list1 = new ArrayList<Double>();
List<String> list2 = new ArrayList<String>();
list1.add(1.2222);list1.add(2.2222);list1.add(3.2222);
list1.add(4.4444);list1.add(5.5555);list1.add(6.3333);list1.add(7.222);
list2.add("2014-01-07 00:00:00.0");list2.add("2014-01-06 00:00:00.0");list2.add("2014-01-05 00:00:00.0");
list2.add("2014-01-04 00:00:00.0");list2.add("2014-01-03 00:00:00.0");list2.add("2014-01-02 00:00:00.0");list2.add("2014-01-01 00:00:00.0");
map.put("list1", list1);
map.put("list2", list2);
return map;
}