我认为这是一个非常特定于 JSP 和 CSS 的 stange 问题。我正在使用 Spring 和 jquery 将 ajax 请求发布到服务器。在我的 JSP 中,如果我有以下行 -
<button class="btn-icon btn-small btn-grey btn-cross" onClick="delete('${ManagerVO.ContactInfoVO.branchId}');"><span> </span>Delete</button>
我的代码执行了操作,但最后我得到了 HTTP 405 - Request method 'POST' not supported 错误。现在,如果我将上面的行更改为 -
<input type="button" class="btn-icon btn-small btn-grey btn-cross" onClick="delete('${ManagerVO.ContactInfoVO.branchId}');"><span> </span>Delete</input>
代码工作得很好。jQuery代码是
function delete(Id) { $.ajax({
type: "POST",
url: "/XXX/XXX/XXX/delete",
data: "Id=" + Id,
success: function(errorVO){
alert(errorVO.errorText);
},
error: function(e){
alert('Error, Please try later: ' + e);
}});}
控制器是 -
@RequestMapping(value = "/delete", method = RequestMethod.POST)
public @ResponseBody
ResultVO delete(
@RequestParam(value = "Id", required = true) String Id,
Model model) {
ResultVO resultVO = adminService.XXX(Id);
return resultVO;
}
有人可以让我知道如何解决这个问题。我想这更像是一个CSS的东西。firebug 告诉我,crome 应用的默认用户代理 css 是 input type="button"。按钮 CSS 如下 -
.btn-icon
{
background-repeat: repeat-x;
color: #FFF;
font-weight: bold;
display: inline-block;
text-decoration: none;
border-width: 1px;
border-style: solid;
padding: 0 15px 4px;
*padding: 0 7px 4px;
margin: 0;
text-shadow: 1px 1px 1px rgba(0,0,0,.2);
-moz-box-shadow: 1px 1px 1px rgba(0,0,0,.25);
-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,.25);
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
filter: progid:DXImageTransform.Microsoft.Shadow(color=#999999,direction=135,strength=2);
cursor: pointer;
position: relative;
}