问题遇到的现象和发生背景
要实现:点击时判断当前用户的会员类型——
问题:前端调试看到返回的memberType值为undefined或null。
遇到的现象和发生背景,请写出第一个错误信息
无报错
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
/**
* 查询当前用户会员类型
*/
@RequestMapping("/getMembertype")
//@ResponseBody
public String getMembertype(HttpSession session, Model model){
User user = (User) session.getAttribute("user");
System.out.println("当前session中用户"+user);
String memberType=userService.findMembertypeByUser(user.getId());
System.out.println("返回页面的值"+memberType);
model.addAttribute("memberType",memberType);
return "../static/index";
}
<input type="hidden" id="pickMemberModels" th:value="${memberType}" />
<h1 id="test222" th:text="${memberType}"></h1>
<h1 id="test333">123</h1>
<script th:inline="javascript">
var user = [[${session.user}]];
function checkLoginAndMember(){
//let memberType = $("#pickMemberModels").val();
let memberType=$("#test222").innerText;
let memberType2=[[${memberType}]];
console.log("后台返回的会员标识-方法1"+memberType);
console.log("后台返回的会员标识-方法2"+memberType2);
}
$("#modelswitch").click(function() {
//用户是否已登录
if(user === '' || user === null || user===undefined){
console.log("未登录!");
} else{
$.ajax({
url: "/user/getMembertype",
// data:,
// dataType:"text",
method:"post",
success:function (result) {
console.log(result);
checkLoginAndMember();
}
})
}
});
</script>
运行结果及详细报错内容
浏览器中看ajax请求返回的数据(是整个页面的html代码):
浏览器中打印的memberType返回值:
后台数据已经正确拿到:
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
试过了分别从dom元素取返回值,和直接通过[[${memberType}]]取值,都取不到。而且数据应该是能返回到页面的(响应的html中h1元素已经获取到该值):
请求地址是没问题的:
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
ajax请求返回的memberType是正确值“yj”