ajax请求 响应状态404 但实际已经执行了所请求的操作?


我们的一套程序,之前在开发环境(linux)跑一直很正常,前两天把程序发到全新的一套生产环境(linux)发现 在代码中 有用 ajax 请求或者是 easyui 中的form组件请求的地方,请求后都没法进入 success 回调方法,使用firebug跟了一下请求,发现ajax请求返回状态404,导致不执行success 回调方法,但是奇怪的是,虽然返回是404, 但实际上请求的操作在后台已经执行,想不明白为什么,请高人指点, 谢谢!

呵呵,我也不知道怎么讲清楚,用个简单的例子说一下吧
有个action如下,功能是更新一个表的一个字段

   
  @Action(value="/updateIsTop")
  
public String updateTop()
{
service.updateTop(istop,id);
return null;
}

页面用ajax请求

   
  $.ajax(
  
{
url:'updateIsTop.action',
data:'top=' + top + '&id=' +row.id,
type:'POST',
success:function()
{
$('#dg').datagrid('reload');//重新加载一次
}
}
);

点击按钮调用上边的的ajax请求
firebug显示 updateIsTop.action 这个请求是404, 所以没有进入success回调。但表中的字段已经被修改 。

这个问题在另外一套环境上从来没有发生过,同样的代码 访问另外一套环境的 updateIsTop.action 返回的状态是302

java Ajax

Saerdna 10 years, 8 months ago

另外,你是否使用类似 Spring Security 的拦截器,而没有配置?

DOROKO answered 10 years, 8 months ago

Your Answer