2013-10-27 2 views
1

Как я могу нормально передавать данные Mvc действие контроллера с помощью AJAX Теперь в моих JS файлданных проходят в Spring MVC контроллера с помощью AJAX

$.ajax({ 
    type: "POST", 
    url:url, 
    data:  { 
      start_date: scheduler.getEvent(id).start_date, 
      end_date: scheduler.getEvent(id).end_date, 
      text: scheduler.getEvent(id).text, 
      userId: userId 
    }, 
    success:function(result){ 
     if(combo.getActualValue() != null){ 
      getUserEvents(id); 
     } 
     else{ 
      $.ajax({ 
       url:"/WebElanceSh/events", 
       success:function(result){ 
        json = result; 
        scheduler.parse(json, "json"); 
       } 
      }); 
     } 
    } 
}); 

и в моем контроллере

@RequestMapping(value = "events/add/", method = RequestMethod.POST) 
public void addEvent(@RequestBody String start_date, 
        @RequestBody String end_date, 
        @RequestBody String text, 
        @RequestBody Integer userId){ 
    Event event = new Event(text,start_date,end_date); 

    if(userId == -1){ 
     TestData.getInstance().AddEvent(-1, event); 

    } 
    else { 
     TestData.getInstance().AddEvent(userId, event); 

    } 

} 

Но у меня есть всегда есть Не удалось загрузить ресурс: сервер ответил статусом 415 (Неподдерживаемый тип носителя)

+0

передают 'url' прямо в' url: url'? –

+0

Правильный адрес. – nabiullinas

+0

Что вы проходите через второй вызов ajax. Это в заявлении else? –

ответ

1

Модель объекта, соответствующего запросу ajax, затем используйте его в качестве параметра запроса: #

public class MyCommandObject { 
    private Date start_date; 
    private Date end_date; 
    private String text; 
    private Integer userId; 

    /** Constructor wihtout parameter needed. */ 
    public MyCommandObject() {} 

    Getter and Setter 
} 


@RequestMapping(value = "events/add/", method = RequestMethod.POST) 
public void addEvent(@RequestBody MyCommandObject command){ ... } 
+0

Я сделал это так, но теперь мне потребовалось 400 ошибок ( – nabiullinas

+0

Может быть, ваша дата не в том формате, который ожидается весной. Попробуйте использовать тип 'String' вместо' Date' в 'MyCommandObject' – Ralph

+1

Конечно, вам нужно добавить json jackson libary в ваше приложение – Ralph

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