#reactjs #ruby-on-rails
Вопрос:
Когда я добавляю тип содержимого: «приложение/json» в этот запрос ajax post, я получаю сообщение об ошибке в консоли браузера «неверный запрос».
$.ajax({
type: 'POST',
url: posturl,
data: {
authenticity_token: $('[name="csrf-token"]')[0].content,
msg_time: msg_time,
sender: sender,
sender_name: sender_name,
body: msgbody,
},
success: function (res) {
console.log(res);
},
error: function (err) {
console.log(err);
},
});
Комментарии:
1. Как вы добавляете тип содержимого? Когда возникает ошибка и что именно в ней говорится? Является ли ошибка с сервера? Что делает сервер и какой контент он ожидает?
2. « $.ajax({ тип: ‘СООБЩЕНИЕ’, url: posturl, тип содержимого: «приложение/json», данные: … ` строгое происхождение при перекрестном происхождении, это достаточная информация
3. Как насчет других вопросов? Главным образом, откуда берется ошибка и что ожидает/делает сервер?
4. В моем приложении rails компонент react отправляет запрос ajax post контроллеру rails, который, в свою очередь, будет транслироваться на канал и отображаться в представлении с тем же именем, что и действие контроллера. Действие контроллера создает сообщения в настройках почтового ящика и отображает представление в стиле чата
5. Итак, запрос доходит до контроллера Rails? Что
params
он видит? Каков код для вашего контроллера Rails и работает ли онrespond_to :json
?
Ответ №1:
Как сказал разван в своем комментарии, мне нужно было использовать тип содержимого: «приложение/json; кодировка=utf8»,