我有一个问题,我有这个jQuery代码:
$(document).ready(function(){
$("#follow").click(function(){
$.ajax({
type: 'POST',
url:'/tweety-0.0.1-SNAPSHOT/twitter/tiles/follow',
data:{
searchedUser: $('#searchedUser').val()
}
})
})
})
这段代码获取隐藏ID并将其值发送到我的控制器中的以下方法:
@RequestMapping(value="/follow",method=RequestMethod.POST)
public @ResponseBody void followUser(@RequestParam("searchedUser") String userToFollow,
@ModelAttribute("user") User user) {
if(userToFollow.equals(user.getUsername())){
// do nothing
}else{
service.followUser(userToFollow,user.getUsername());
}
}
我想通过之前的ajax调用发送一个会话范围属性。关于如何做到这一点的任何线索??
答案 0 :(得分:2)
最好的办法是在页面的某个地方的隐藏输入字段中输入该属性的值,这样您就可以使用jQuery读取它。 不幸的是,据我所知,jQuery或javascript无法访问请求,会话或应用程序范围变量。
所以,如果你做这样的事情:
<input type='hidden' name='${sessionVarName}' value='${sessionVarValue}' id='sessionVar'/>
您可以在页面加载后访问它:
$(function(){
var sessionVar = $('#sessionVar').val();
alert(sessionVar);
});
这是我在需要将tomcat会话变量转换为javascript时使用的解决方案,该方法也适用于你。
希望这有帮助
答案 1 :(得分:0)
我建议你发送一个AttributeName,它会成功地让你获得sessionScope属性,这很简单。