私は、JSP と CSS に非常に特有の奇妙な問題を抱えていると思います。私は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;
}