2015-07-04 5 views
0

Когда я возвращаю ModelAndView как json в контроллере, я получу нужное значение, которое я хочу.Возвращение Карта как json весной mvc

@RequestMapping(value = "/Show", method = RequestMethod.POST) 
    @ResponseBody 
    public ModelAndView show(ModelMap mm) { 
     ModelAndView mav = new ModelAndView("includes/test"); 
     return mav; 
    } 

Но когда я использую карту и получить в AJAX я получить вид пуст:

@RequestMapping(value = "/Show", method = RequestMethod.POST) 
    @ResponseBody 
    public Map show(ModelMap mm) { 
     ModelAndView mav= new ModelAndView("includes/test"); 
     Map map=new HashMap(); 
     String modal="test"; 
     map.put("view", mav); 
     map.put("modal", modal); 
     return mav; 
    } 

    //aJax 
    $.ajax(){ 
     url:'Home/test.html', 
     method:'POST', 
     contentType: "application/json", 
     mimeType: 'application/json', 
     success:function(data){ 
      $('body').append(data['modal']);//Not null, value: test 
      $('body').append(data['view']);//Null or empty 
     } 
    } 

Как я могу получить правильное значение для просмотра (все HTML данных в этой точке зрения, как».. .. ") при использовании карты?

+0

Ваш тип данных JSON, поэтому вызов ожидает данные в формате JSON обратно, это то, что посылается? –

+0

Извините. В моем контроллере я получу json-данные, но это не нужно для этого вопроса, поэтому я удалил его. :) –

+1

Если вы хотите вернуть карту, почему вы даже создаете ModelAndView? – minion

ответ

0

Если вы хотите вернуть свою модель в качестве json. Вы просто установить ваш метод возвратного типа JsonResult и передать модель взамен json();

Смежные вопросы