2017-08-08 81 views
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代码:

+1

如果请求有效,您将得到此行为,但响应的格式与您告诉jQuery预期的内容不匹配。在你的情况下,这意味着该响应不是有效的JSON。检查控制台的网络选项卡以准确查看返回的内容 –

+1

您期望客户端的json数据(例如,在ajax'dataType:'JSON',')中,但是您没有从服务器发送任何json数据。 –

+1

为您的成员对象添加空检查......返回200仅表示成功的网络请求,而不是后端或您的java代码。 –

回答

1

请你的控制器代码添加空校验。

相关问题