Ajax調用SpringMVC ModelAndView 無返回情況


  在項目中使用Ajax的時候,success中返回的data一直都是null,也沒有報錯。在確定Ajax語法沒有錯誤,也沒有牽扯跨域問題后,用排除法挨着刪除代碼,發現是因為Spring MVC會自動把方法中參數(User user)封裝進modelMap 中方便返回頁面中調用。因為Ajax需要返回json數據,而User中有自身關聯情況,無法自動轉換json,而且錯誤信息被吃掉了。最后發現只需要使用modelMap.addAttribute("user", null);即可避免無法自動轉換json的問題。

	@RequestMapping(value = "save", method = RequestMethod.POST)
	public ModelAndView saveUser(User user, ModelMap modelMap) {
//...對於User user的一些操作省略,因為User類中的一些屬性導致無法轉換Json,modelMap.addAttribute("user", null);將modelMap中的user清空。

		Map<String, String> newUser = new HashMap<>();
		newUser.put("id", "" + user.getId());
		newUser.put("name", user.getFirstName() + " " + user.getLastName());
		modelMap.put("newUser", newUser);
		modelMap.addAttribute("user", null);

		ModelAndView mav = new ModelAndView();
		MappingJacksonJsonView view = new MappingJacksonJsonView();
		view.setAttributesMap(modelMap);
		mav.setView(view);
		return mav;
	}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM