jquery ajax 进不了回调函数,该如何解决
jquery ajax 进不了回调函数
Action 后台的方法:
public String findCourse(){
PaginationList<Course> paginationList = new PaginationList<Course>();
Map<String, Integer> map = new HashMap<String, Integer>();
int bCount = 1;//(Integer.parseInt(page)-1) * Integer.parseInt(pageSize) +1;
int eCount = 10;//Integer.parseInt(pageSize);
map.put("bCount", bCount);
map.put("eCount", eCount);
list = courseDao.findCourse(map);
paginationList.setList(list);
paginationList.setFullListSize(list.size());
paginationList.setObjectsPerPage(Integer.parseInt(pageSize));
paginationList.setPageNumber(Integer.parseInt(page));
JSONObject jsonObject = new JSONObject();
if(paginationList.getFullListSize()%Integer.parseInt(pageSize)==0){
jsonObject.put("pageCount",(paginationList.getFullListSize()/Integer.parseInt(pageSize)));
}else
{
jsonObject.put("pageCount",(paginationList.getFullListSize()/Integer.parseInt(pageSize+1);
}
Gson gson = new Gson();
jsonObject.put("result", gson.toJson(paginationList.getList())); result = jsonObject.toString();
System.out.println(result);
return SUCCESS;
}
jsp页面:
<script>
$(function() {
//基础配置
$("#page").myPagination({
currPage: 1,
pageCount: 10,
dataType: "json",
ajax : {
on : true, //开启状态
callback : 'ajaxCallBack',//回调函数,注,此 ajaxCallBack 函数,必须定义在 $(function() {}); 外面
url : "/HSCVS/courses/course!findCourse.action", //访问服务器地址
param : {
on : true,
page : 1,
pageSize : 10,
arg1 : '',
arg2 : ''
}
//参数列表,其中 on 必须开启,page 参数必须存在,其他的都是自定义参数,如果是多条件查询,可以序列化表单,然后增加 page 参数
}
});
})
function ajaxCallBack(data){
alter(1);
}
</script>
------解决方案--------------------
你应该把action里的result写到流里,这样回调函数才会取得到值。
------解决方案--------------------
加上 error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
看看 。
------解决方案--------------------
你也可以浏览器敲地址 看返回什么
------解决方案--------------------
个人觉得 你应该 debug模式 一步一步走,看看是否到了后台方法,数据是否以json形式返回的。
然后就是用浏览器的开发模式,看看返回是什么?
我用火狐的 firebug 可以查看到。。。。
------解决方案--------------------
不知道楼主用的jquery的什么插件有myPagination方法,他里面的ajax:{callback:'ajaxCallBack'}这个callback的值确定是个字符串而不是callback:ajaxCallBack或者callback:function(data){....}
------解决方案--------------------
参考这个
------解决方案--------------------
你 浏览器 输入 你 的 action 地址 回车看是否 返回
json 的数据
------解决方案--------------------
和那个例子 一样 extends 为 json-default。。你后台没请求到 肯定进步了回调了。
------解决方案--------------------
1.用f12看下,数据有没有返回。2.ajax默认的type方式为Get,后台action中是不是要设置allowget? 至少在。net mvc里面可以这样设置,java就不知道了。。。
------解决方案--------------------
看看是不是回调函数写错了
------解决方案--------------------
我的struts配置都这样写的,
<action name="delConsumeFileByRelationId" class="resourceConsumeAction" method="delFileByRelationId">
<result type="json">
<param name="root">mess</param>
</result>
Action 后台的方法:
public String findCourse(){
PaginationList<Course> paginationList = new PaginationList<Course>();
Map<String, Integer> map = new HashMap<String, Integer>();
int bCount = 1;//(Integer.parseInt(page)-1) * Integer.parseInt(pageSize) +1;
int eCount = 10;//Integer.parseInt(pageSize);
map.put("bCount", bCount);
map.put("eCount", eCount);
list = courseDao.findCourse(map);
paginationList.setList(list);
paginationList.setFullListSize(list.size());
paginationList.setObjectsPerPage(Integer.parseInt(pageSize));
paginationList.setPageNumber(Integer.parseInt(page));
JSONObject jsonObject = new JSONObject();
if(paginationList.getFullListSize()%Integer.parseInt(pageSize)==0){
jsonObject.put("pageCount",(paginationList.getFullListSize()/Integer.parseInt(pageSize)));
}else
{
jsonObject.put("pageCount",(paginationList.getFullListSize()/Integer.parseInt(pageSize+1);
}
Gson gson = new Gson();
jsonObject.put("result", gson.toJson(paginationList.getList())); result = jsonObject.toString();
System.out.println(result);
return SUCCESS;
}
jsp页面:
<script>
$(function() {
//基础配置
$("#page").myPagination({
currPage: 1,
pageCount: 10,
dataType: "json",
ajax : {
on : true, //开启状态
callback : 'ajaxCallBack',//回调函数,注,此 ajaxCallBack 函数,必须定义在 $(function() {}); 外面
url : "/HSCVS/courses/course!findCourse.action", //访问服务器地址
param : {
on : true,
page : 1,
pageSize : 10,
arg1 : '',
arg2 : ''
}
//参数列表,其中 on 必须开启,page 参数必须存在,其他的都是自定义参数,如果是多条件查询,可以序列化表单,然后增加 page 参数
}
});
})
function ajaxCallBack(data){
alter(1);
}
</script>
------解决方案--------------------
你应该把action里的result写到流里,这样回调函数才会取得到值。
------解决方案--------------------
加上 error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
}
看看 。
------解决方案--------------------
你也可以浏览器敲地址 看返回什么
------解决方案--------------------
个人觉得 你应该 debug模式 一步一步走,看看是否到了后台方法,数据是否以json形式返回的。
然后就是用浏览器的开发模式,看看返回是什么?
我用火狐的 firebug 可以查看到。。。。
------解决方案--------------------
不知道楼主用的jquery的什么插件有myPagination方法,他里面的ajax:{callback:'ajaxCallBack'}这个callback的值确定是个字符串而不是callback:ajaxCallBack或者callback:function(data){....}
------解决方案--------------------
参考这个
------解决方案--------------------
你 浏览器 输入 你 的 action 地址 回车看是否 返回
json 的数据
------解决方案--------------------
和那个例子 一样 extends 为 json-default。。你后台没请求到 肯定进步了回调了。
------解决方案--------------------
1.用f12看下,数据有没有返回。2.ajax默认的type方式为Get,后台action中是不是要设置allowget? 至少在。net mvc里面可以这样设置,java就不知道了。。。
------解决方案--------------------
看看是不是回调函数写错了
------解决方案--------------------
我的struts配置都这样写的,
<action name="delConsumeFileByRelationId" class="resourceConsumeAction" method="delFileByRelationId">
<result type="json">
<param name="root">mess</param>
</result>