今天比较郁闷,遇到了一些奇怪的问题!
1.在Eclipse上建立一个web项目,我的一个提交页面在如下目录:WebContext/liTest/add_goods.html。在add_goods.html里面有这么一个form表单<form action="trolleyAction.do?action=add" method="post">
后台报错,说没有找到对应的处理类。经过一位高人指点,我如果这样发送一个请求的话,那个浏览器的url地址为:
http://localhost:8090/petmall/liTest/trolleyAction.do?action=add ,struts不认这个地址,它只认http://localhost:8090/petmall/trolleyAction.do?action=add。那个***.do必需紧跟在项目名称后面!所以把那个form表单修改一下:<form action="../trolleyAction.do?action=add" method="post">解决了这个问题,又遇到了一个更郁闷的!
2.总体来说是浏览器的问题。是这样的:点击一个按钮查看购物车信息,这时候url变成了:http://localhost:8090/petmall/trolleyAction.do?action=show 服务器返回购物车信息展示页面,url没变。这个时候,我打算修改购物车当中某一件商品的购买数量 采用的jquery发送AJAX请求。$.ajax({
type:"post",
url:"trolleyAction.do?action=modify",
data:"purchaseNumber="+goodsNumber+"&goodsId="+goodsId+"&idkey=1",
complete: function(msg){
alert("完成");
alert(msg);
}
});
出现问题了,经过一番调试,发现发送了两个请求到了后台,一个是这个AJAX发送的修改商品购买数量的,处理完成之后,火狐好像又自动发送了一个请求,哪个请求呢?就是浏览器地址的那个请求,即:http://localhost:8090/petmall/trolleyAction.do?action=show。但是在IE中没有出现这种情况,只发送了那个AJAX请求。却有另外一种情况,调用完成之后,没有调用AJAX的回调函数,就是没有弹出我上面写的那两个提示框。而火狐确弹出来了!这个我还没有解决。经过这么一折腾,我想:如果上帝能够完成我一个心愿,我希望这个世界上只有一种浏览器。
3.现在来看一个更加郁闷的,搞了我一下午。差点害得我重装系统了!我电脑是的IE居然不支持jquery发送AJAX请求!就是在IE上调试的时候,发送一个AJAX请求,后台根本就没接收到。错也不报,反正就是没反应!我还以为是我本身IE浏览器的问题,因为我以前把它给卸了(个人不喜欢,不过没办法,做开发,必需要用IE浏览器来调试,被逼的)结果在网上无意间看到了:说IE守护天使会使IE发送ajax请求失效。我看到这几个字的时候,感觉好熟悉!我于是查看我安装的程序,果然有一个IE守护天使,原来是超级兔子的东西!把它卸了之后,就可以了!现在唯一的问题就是那个回调函数没有调用!明天再接再厉!