0
Controller.java开发工具中的ajax状态为200,但为什么会出现错误?
@RequestMapping(value="show_allMember.do",produces = MediaType.APPLICATION_JSON_UTF8_VALUE,method = RequestMethod.GET)
public @ResponseBody String memberList(Model mav)
{
List<HashMap<String, Object>> members = aService.getMemberList();
mav.addAttribute("mList", members);
return "" + mav ;
}
view.jsp的
function show_allMember()
{
$('.member_management_area').css('display','block');
$('.member_management').css('color','#fe4978');
$.ajax
({
type: 'GET',
url: 'http://localhost:8080/rachelivf/show_allMember.do',
dataType:'JSON',
success: function(response)
{
alert('success');
$.each(response.mList, function(index, value)
{
});
},
error: function(xhr,ajaxOptions,thrownError)
{
alert('error');
if(xhr.status == 404)
{
alert(thrownError);
}
}
});
}
当你运行该项目,状态为200倍。
在网络选项卡上,值也显示在标题和预览中。
然而,它落入错误,没有成功..
据我所知,数据类型不匹配。因此陷入错误。
对吗?如果我是对的,我该怎么办?在jQuery代码
@RequestMapping(value="show_allMember.do",produces = MediaType.APPLICATION_JSON_UTF8_VALUE,method = RequestMethod.GET)
public @ResponseBody String memberList(Model mav)
{
List<HashMap<String, Object>> members = aService.getMemberList();
if(members!=null){
mav.addAttribute("mList", members);
return "" + mav ;
}else{
return "denied.jsp";
}
}
处理此JSP代码:
如果请求有效,您将得到此行为,但响应的格式与您告诉jQuery预期的内容不匹配。在你的情况下,这意味着该响应不是有效的JSON。检查控制台的网络选项卡以准确查看返回的内容 –
您期望客户端的json数据(例如,在ajax'dataType:'JSON',')中,但是您没有从服务器发送任何json数据。 –
为您的成员对象添加空检查......返回200仅表示成功的网络请求,而不是后端或您的java代码。 –