Я отправляю GET
с помощью метода javascript window.open, и мне нужно передать массив некоторых идентификаторов в нем. Поэтому, когда я получаю URL-адрес, вот так:
http://localhost:3000/controller_path/new?ids[]=1025&ids[]=1027
Но это неприемлемо. URL-адрес не должен выглядеть так. И я не могу отправить параметры через POST
потому что мой руководитель команды отрицал это.
Интересно, могу ли я отправить запрос ajax до моего основного запроса GET
и передать массив ids
с ним, сохранить его каким-то образом в моем "новом" методе и использовать их при отправке запроса GET
? Если возможно, как я могу это сделать в рельсах? Другими словами, мне нужно отправить свой массив с помощью ajax-запроса, как-то сохранить его и использовать, когда отправляется мой фактический GET
. Спасибо за ответы.
Вы можете сериализовать данные с помощью JSON.
Поэтому, если у вас есть:
var ids = [9,4,5,8];
Вы можете использовать это:
var getString = "?ids="+JSON.stringify(ids);
var filePath = "whereYouAreSending";
window.open(filePath+getString);
определить маршрут с помощью метода контроллера для обработки данных
"http://localhost:3000/controller_path/new?ids=[9,4,5,8]"
И вы должны будете его кодировать, и он будет"http://localhost:3000/controller_path/new?ids=[9,4,5,8]"
как"http://localhost:3000/controller_path/new?ids=%5B9%2C4%2C5%2C8%5D"