#jquery #ruby-on-rails #json #ajax
#jquery #ruby-on-rails #json #ajax
Вопрос:
Я отправляю массив JS в свое приложение rails :
$.ajax({
url: "/backend/familles/change_order.js",
contentType: 'json',
type: "POST",
data: JSON.stringify(sort_array)
});
Вот как firefox видит сообщение ajax :
Но params.inspect содержит только следующее :
{"controller"=>"backend/familles", "action"=>"change_order", "locale"=>"fr"}
Что я должен изменить, чтобы иметь возможность читать данные JSON?
Ответ №1:
Нет необходимости явно указывать ваш объект данных, jQuery сделает это за вас! Также вы должны добавить ключевое значение для данных, которые вы хотите отправить. Что-то вроде этого должно работать:
data: {"sort_array": sort_array}
Ответ №2:
вы должны использовать
dataType: 'json'
не contentType
Редактировать:
Я думаю, вам не следует отправлять массив напрямую. Попробуйте:
data: JSON.stringify({"items":sort_array})
или
data: {"items": JSON.stringify(sort_array)}
Комментарии:
1. Я сделал это, но это все равно не работает. Я также добавил ContentType: ‘application / json’
2. Смотрите мою правку. Я думаю, что у этого массива должно быть «имя»
3. Теперь я могу проанализировать строку, которая дает мне данные JSON. Однако я должен удалить тип данных, потому что, если он определен, представление js, возвращаемое сервером, не интерпретируется. (некоторый JS-код).