问题描述
- ajax url地址无法进入
-
action里打了断点但是根本没有进action
页面里有一个按钮触发changestatus
js:
function ChangeStatus(id,status){
var URL = 'collection/changeStatus!changeStatus.action?id='+id+'&status='+status;
$.ajax({
url:URL, //请求的url地址
type:"post", //请求方式
success:function(data){
},
error:function(){
}
});
}struts: <action name="changeStatus" class="OpinionFeedbackAction"> <result name="success" type="json"> <param name="root">result</param> </result> </action> action: public String changeStatus() throws Exception{ logger.debug("进入changeStatusAction changeStatus方法"); String id = this.getRequest().getParameter("id"); String status = this.getRequest().getParameter("status"); System.out.println(id); System.out.println(status); int i = opinionFeedbackService.changeStatus(Integer.parseInt(id),Integer.parseInt(status)); if(i==1){ ResultJSON resultJSON = new ResultJSON(); resultJSON.setSuccess("true"); resultJSON.setMsg("成功"); result = JSONObject.fromObject(resultJSON); } return SUCCESS; }
解决方案
var URL = 'collection/changeStatus!changeStatus.action?id='+id+'&status='+status;
怎么感觉多了一个!号?
解决方案二:
感叹号是传参用的啊。。。
解决方案三:
是不是没有view,造成页面无法加载这个请求
解决方案四:
先在函数里,alert(URL),看有没有执行,在浏览器里输入带域名的url,看看有没有反映,ajax也是http之类的,有firefox的firebug可以看看具体数据,感叹号是符合url规则的。一般在Struts2里面,一个Action里面有多个方法的时候,用!来指定方法的~
解决方案五:
'collection/changeStatus!changeStatus.action?id='+id+'&status='+status;
看着有点怪呢
collection/changeStatus!changeStatus.action
collection是什么啊,把collection去掉试试
时间: 2024-09-22 18:28:47