2016-08-16 150 views
1

如何在控制器类中获取公司名称,当我打印字符串cname = req.getParameter(“companyName”)时,它显示未定义。如何从JS函数获取数据到控制器类

添加快照以供参考。

JS

编辑公司控制器

@RequestMapping(value = "/editCompany", method = RequestMethod.GET) 
    public ModelAndView editCompany(ModelAndView model, HttpServletRequest req, HttpServletResponse res) { 

     String cname = req.getParameter("companyName"); 
     System.out.println(cname); 

     //int companyId = companyDAO.GetCompanyId(req.getParameter("companyName")); 
     Company company = companyDAO.getInfo(req.getParameter("companyName")) ; 
     model.addObject("company", company); 
     model = getDropdownList(model); 
     model.setViewName("editCompany"); 
     return model; 
    } 

JS

$("#EditBtn").click(function(e) { 
     var companyName=$("#table tr.trActive td:first").html(); 
     $ 
    .ajax({ 
     type : "GET", 
     url : "editCompany?companyName="+companyName, 
     data : JSON.stringify(companyName), 
     contentType: "text/plain", 
     success : function(data) { 

     alert('sucess'); 
     //viewCompanyViaAjax(); 
     }, 
     error : function() { 
     alert('Error occured'); 
     } 



}); 

Updated snapshot

回答

0

In JS 您不需要两种变体的数据,因为它是Get,而不是Post方法。

第一变体: 在JS

url : "editCompany/"+companyName 

编辑公司控制器

@RequestMapping(value = "/editCompany/{companyName}", method = RequestMethod.GET) 
    public ModelAndView editCompany(@PathVariable String companyName, ModelAndView model, HttpServletResponse res) { 
System.out.println(companyName); 
... 

第二变形 在JS

url : "editCompany?companyName="+companyName 

编辑公司控制器

@RequestMapping(value = "/editCompany", method = RequestMethod.GET) 
    public ModelAndView editCompany(@RequestParam("companyName") String companyName, ModelAndView model, HttpServletResponse res) { 
System.out.println(companyName); 
... 
相关问题