Проблемы с маршрутами play framework (400 неверных запросов)

У меня возникли проблемы с отправкой POST в игровую среду - это может быть связано даже не с Play, а с HTTP.

$.ajax({
    type:'POST',
    url:'http://localhost:9000/start',
    data: {
        myJson:JSON.stringify(arg)
    }
}).done(function(data) {
    console.log(data);
});

где arg — массив строк, т.е.: ['a', 'b', 'c']

Маршрут, который я пытаюсь использовать, чтобы захватить это:

POST    /start      controllers.Application.startIt(myJson)

Что я делаю не так? На данный момент (если маршрут захватывается правильно) эта функция никогда не вернет 400. В консоль Play нет вывода, только javascript:

POST http://localhost:9000/start 400 (Bad Request)


person Ledivin    schedule 29.10.2012    source источник
comment
Пожалуйста, покажите свой Application.startIt метод.   -  person i.am.michiel    schedule 31.10.2012


Ответы (1)


В документации объясняется, когда платформа возвращает код ошибки BadRequest. Проблема связана с файлом маршрутизатора. Вы определяете маршрут /start, который инициирует вызов метода startIt, но у метода есть аргумент, и платформа не знает, какое значение он должен передать.

Чтобы правильно обрабатывать запросы JSON, ознакомьтесь с специальной частью документации.

person mchv    schedule 05.11.2012