2013-02-20 63 views
0

我在spring控制器中返回哈希映射。當使用jquery ajax在springbody中返回HashMap時發生HTTP 406異常

@RequestMapping(value = "/CIMtrek_Project_Information", method = RequestMethod.POST) 
    public @ResponseBody Map<String,String> getProjectInfotmation(@RequestParam("cerNo") String cerNo,HttpServletRequest request,HttpServletResponse response) throws Exception { 
     DataService ds = new DataService(); 
     Map<String,String> projectInforamtionMap = new HashMap<String,String>(); 
     projectInforamtionMap = ds.getProjectInformation(cerNo); 
     System.out.println("projectInforamtion : "+projectInforamtionMap); 
     return projectInforamtionMap; 
    } 

這jquery的AJAX方法我使用:

function getProjectInformation(){ 
    var cerNo = document.getElementById('CIMtrek_CI_CER').value; 
    $.ajax({ 
     type: "POST", 
     url: "CIMtrek_Project_Information", 
     data: { 
      cerNo: cerNo 
     }, 
     success: function (projectInforamtionMap) { 
      if(projectInforamtionMap.norecord !="yes"){ 
       document.getElementById('projectNo').innerHTML=projectInforamtionMap.CI_Used_By_ProjNo; 
       document.getElementById('CIMtrek_CI_Used_By_ProjNo').value=projectInforamtionMap.CI_Used_By_ProjNo; 

       document.getElementById('projectName').innerHTML=projectInforamtionMap.CI_Used_By_ProjName; 
       document.getElementById('CIMtrek_CI_Used_By_ProjName').value=projectInforamtionMap.CI_Used_By_ProjName; 

       document.getElementById('projectManager').innerHTML=projectInforamtionMap.CI_Used_By_ProjMgr; 
       document.getElementById('CIMtrek_CI_Used_By_ProjMgr').value=projectInforamtionMap.CI_Used_By_ProjMgr; 

       document.getElementById('projectStatus').innerHTML=projectInforamtionMap.CI_Used_By_Status; 
       document.getElementById('CIMtrek_CI_Used_By_Status').value=projectInforamtionMap.CI_Used_By_Status; 

       document.getElementById('projectBDM').innerHTML=projectInforamtionMap.CI_Used_By_BDM; 
       document.getElementById('CIMtrek_CI_Used_By_BDM').value=projectInforamtionMap.CI_Used_By_BDM; 

       document.getElementById('projectITPlan').innerHTML=projectInforamtionMap.CI_Used_By_IT_Plan; 
       document.getElementById('CIMtrek_CI_Used_By_IT_Plan').value=projectInforamtionMap.CI_Used_By_IT_Plan; 

       document.getElementById('projectBucket').innerHTML=projectInforamtionMap.CI_Used_By_IT_Bucket; 
       document.getElementById('CIMtrek_CI_Used_By_IT_Bucket').value=projectInforamtionMap.CI_Used_By_IT_Bucket; 
      } 

     } 
    }); 
} 

,但我得到回調過程中該響應;

The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers. 

請幫我解決這個問題。

最好的問候。

回答

1

試試這個

變化

projectInforamtionMap = ds.getProjectInformation(cerNo); 

projectInforamtionMap.put("projectInforamtionMap", ds.getProjectInformation(cerNo)); 

在你的Ajax調用添加

contentType: 'application/json', 

dataType : 'json', 
相關問題