Задать вопрос

Как в react.js правильно сделать ajax общение с сервером?

У нас сервер собран на .NET, соответственно мне надо настроить ajax в react.js.
Пробовал использовать аякс от jquery, но он почему то не работает без beforeSend в котором должно быть прописано обращение к DOM через jquery (я не знаю, что это за магия, но когда прописываешь типа $(“.class”).after(“блок html”); то обращение с сервером проходит, если этого нет или да же нет всего объекта beforeSend, то он сваливается в error).
Недавно начал изучать XMLHttpRequest, который, как мне показалось, будет более уместным для использования в react.js.
В примерах общения с сервером я видел эти два способа.
Мне интересно, каким лучше пользоваться?
И какой Вы чаше используете?
На данный момент я реализую форму авторизации и мне нужно работать со следующими данными:
Type: «тип запроса»
Url: «url»
Headers: «заголовки»
beforeSend: «то, что будет отрабатываться перед началом запроса»
success: «данные, которые придут от сервера в случае успеха»
error: «какие-нибудь ошибки»
complete: «тут будет выполняться что-то по завершению запроса»
  • Вопрос задан
  • 7596 просмотров
Подписаться 4 Оценить 1 комментарий
Решения вопроса 1
@roman01la
AJAX в jQuery — всего лишь обертка над XHR, я бы сказал более простая в использовании обертка. Поэтому все зависит от того, пишите ли вы проект с jQuery или без.

В React, точнее в Flux не имеет значения, как вы делаете запрос. Работа с сетевым I/O выносится в отдельный модуль, который принимает события из компонентов React, получает данный от вашего API и обновляет хранилища.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
PQR
@PQR
Пробовал использовать аякс от jquery, но он почему то не работает без beforeSend в котором должно быть прописано обращение к DOM через jquery (я не знаю, что это за магия, но когда прописываешь типа $(“.class”).after(“блок html”); то обращение с сервером проходит, если этого нет или да же нет всего объекта beforeSend, то он сваливается в error).

Это какая-то невиданная фигня, так не должно быть.
1. beforeSend не является обязательным для работы с ajax функциями в jQuery
2. работа с DOM (где бы она ни была - в beforeSend или ещё где-то) никак не влияет на на ajax функциональность в jQuery
3. использование react.js также никак не влияет на на ajax функциональность в jQuery

В общем, вы куда-то не туда капаете в поисках причины ошибки.

Покажите что-ли текст ошибки или фрагмент кода, в котором вы отправляете ajax запрос на сервер?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы