卑微求解 springmvc 中向前端传输数据的问题
我在进行数据传输的时候是想获取后台传输的数据然后根据相应的数据进行操作的,可是当使用tomcat运行测试的时候游览器直接在加界面上打印出了数据,并且 状态码 XMLHttpRequest.status=0,状态 XMLHttpRequest.readyState=0,错误信息为 error。
页面为:
首先是我的 service 代码:
@RequestMapping("register")
public String register(HttpServletRequest request, HttpServletResponse response) throws IOException {
PrintWriter printWriter = response.getWriter();
String name = request.getParameter("name");
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
SqlSession openSession = sqlSessionFactory.openSession();
userUtilInter userUtilInter = openSession.getMapper(userUtilInter.class);
userBean = userUtilInter.checkUserByName(name);
jsonObject = new JSONObject();
System.out.println(userBean);
if(null != userBean) {
jsonObject.put("status", 0);
}else {
jsonObject.put("status", 1);
}
printWriter.print(jsonObject);
return null;
}
}
下面是我的 ajax 代码:
$("#submit").submit(function(){
$.ajax({
async:true,
type: "POST",
url:"userServiceImpl",
contentType : "application/x-www-form-urlencoded",
dataType: "JSON",
success: function (data){
alert(1)
console.log("data:" + data)
if(data.status==1){
console.log(data);
alert("註冊成功,請登錄");
location.href= "login.jsp";
}
else{
alert("名字已存在,請重試");
location.href= "register.jsp";
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
// 状态码
console.log(XMLHttpRequest.status);
// 状态
console.log(XMLHttpRequest.readyState);
// 错误信息
console.log(textStatus);
}
})
})
请问有哪位大侠能告诉我我的错误在哪里吗?怎么可以解决我这个问题。我先在这里跪谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
第一种方式就是加@ResponseBody注解,然后返回实体对象,这种方式你可能会用到fastjson包(如果保存的话)。第二种方式是把返回值类型String改成void,因为返回String的话,spring默认的返回值处理器会以为你返回了一张页面,会尝试去解析成view。不熟悉的话可以去看我的一篇博客<spring-webmvc请求处理流程-返回值处理>
请问有没有可能是我 ajax 请求路径写错了
我现在只是了解我前端 form 表单的 action 是 register,所以我后台应该用 /register(上面应该是我没有改回原来的)。ajax请求是我之前用 servlet 的时候直接写类名就可以了,所以才这么写的。restful 风格我还只是知道,不会用。现在想着还是先把功能实现了。
你请求的url:userServiceImpl而你在后台注册的RequestMapping 的地址又是register前后不一致,而且userServiceImpl作为url也不符合restful标准呀。
解决了问题,谢谢两位
楼上是正解