对于在家的观众…我发现问题是由于控制器中定义的方法签名与ajax调用不匹配。我
Modelmodel从控制器方法中删除了参数。然后,我还意识到我还必须返回新的模型和视图。这是工作代码:
var myJSON = {"title":"help"}; myJSON = JSON.stringify(myJSON);<c:url var="postAndView" value="/PostJSONMAV" />...jQuery.ajax({ type: 'POST', url: "${postAndView}", data:myJSON, contentType: "application/json", success: function(data) { previewDialog.html(data); previewDialog.dialog('open'); }});我更改为ajax调用,但
jQuery.postJSON()也可能会正常工作。下面显示的是新的控制器代码,该代码正确地将新对象添加到模型中并返回jsp页面,该页面在对话框中打开:
@RequestMapping(value = "/PostJSONMAV", method = RequestMethod.POST)public ModelAndView postJSON(@RequestBody MyClass myClass) { ModelAndView mav = new ModelAndView(); myClass.setTitle("SUCCESS"); mav.setViewName("dialogContent"); mav.addObject("myClass", myClass); return mav; }


