我作为一个路径变量发送电子邮件ID服务器为():当路径变量包含@ResponseBody然后不工作
@RequestMapping(value = "/resetPassword/{email:.+}", method = RequestMethod.GET)
public @ResponseBody MyResponse resetPassword(HttpServletRequest request, @PathVariable("email") String email)
{
MyResponse res = new MyResponse();
res.setMsg("some Text");
return res;
}
,我的jQuery的调用方法:
var email = $("#fpusername").val();
$.ajax({
type : "GET",
url : "./useraccount/resetPassword/" + email,
dataType : "json",
async : true,
success : function(data) {
alert(data.msg);
}
});
同样的方法工作时,我送[email protected]
为email
值,但提示以下错误:发送[email protected]
时406 [由该请求所标识的资源仅能够 与根据该请求的特性不能接受产生响应的“接受”报头]
可能重复[(。)Spring MVC的@PathVariable与点也越来越截断(HTTP://计算器。com/questions/16332092/spring-mvc-pathvariable -with-dot-is-getting-truncated) –
@Martin Frey:不,这里的问题不在于我的路径变量在(。)之后被截断。这里的问题是当路径变量包含一个(。),那么响应正文注解不起作用,因此ajax没有从服务器得到正确的响应 –
真的。我错过了正则表达式。您是否尝试将响应mediatype修复为json? –