Как сделать POST-запрос к API RESTful для nodejs вactjs - PullRequest
0 голосов
/ 18 сентября 2018

Мой бэкэнд restful API построен на nodejs и express, у меня также есть интерфейс, построенный на Reactjs, я пытаюсь создать страницу входа.Моя идея состоит в том, чтобы сделать запрос POST в Reactjs к моему Nodejs restful API, включая имя пользователя и пароль, затем серверная часть проверит, верна ли информация запроса правильно, вернет ли токен, иначе вернет сообщение об ошибке.Но я не знаю, как правильно сделать запрос POST в reactjs.Я просто использую $.ajax()?Я пытаюсь избежать использования jquery, потому что я думаю, что есть много способов сделать то же самое.Заранее спасибо.

Ответы [ 4 ]

0 голосов
/ 18 сентября 2018

Просто достигните этого

function submitRequest(opts) {
      console.log('Posting request to your API...');
      fetch('http://your_url', {
        method: 'post',
        body: JSON.stringify(opts)
      }).then(function(response) {
        return response.json();
      }).then(function(data) {
       console.log(':', data);
      });
    }
0 голосов
/ 18 сентября 2018

Вы должны использовать axios.js с фреймворками saga.js.

// Send a POST request
axios({
  method: 'post',
  url: '/user/12345',
  data: {
    firstName: 'Fred',
    lastName: 'Flintstone'
  }
});
0 голосов
/ 18 сентября 2018

Вы можете использовать fetch, если не хотите использовать сторонние библиотеки.

Отметьте здесь хорошая статья о том, как использовать fetch в реакции.

0 голосов
/ 18 сентября 2018

Используйте axios .Нет необходимости использовать параметры jquery.

axios.post("http://api/login", { options }).then(res => ...).catch(err => ...)

: { username: username, password: password ...etc }

Что мне больше всего нравится в fetch, так это то, что вы можете определить baseurl (вместо записи http://localhost:5000/api/... снова и снова для каждого AJAX запроса) и axios автоматически обрабатывают JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...