У меня был мой backend restful API, построенный с помощью nodejs
и express
, у меня также есть интерфейс, построенный на Reactjs, я пытаюсь сделать страницу входа. Моя идея делает запрос POST в Reactjs
для моего Nodejs
API Nodejs
, включая имя пользователя и пароль, затем задняя часть проверяет правильность информации о запросе, а другой возвращает сообщение об ошибке. Но я не знаю, reactjs
правильный способ сделать запрос POST в reactjs
. Я просто использую $.ajax()
? Я пытаюсь избежать использования jquery
потому что я думаю, что есть много способов сделать то же самое. Заранее спасибо.
Вы можете использовать fetch
если вы не хотите использовать сторонние библиотеки.
Проверьте здесь хорошую статью о том, как использовать выборку в реакции.
Добавление Axios в наш проект:
npm install axios --save
Мы также можем обрабатывать другие глаголы, такие как POST и PUT. Позволяет создать форму, которая позволяет вводить пользователя и впоследствии POST-контент в API:
import axios from 'axios';
myFunction(){
axios.post('https://mysite.test.com/users', { user })
.then(res => {
console.log(res);
console.log(res.data);
}).catch(err => {
console.log(err);
});
}
дополнительные данные можно отнести к документу.
вы можете найти другие модули по ссылке ниже.
Используйте аксиомы. Нет необходимости использовать 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
.
Просто достигните этого
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);
});
}
вы должны использовать axios.js с saga.js frameworks.
// Send a POST request
axios({
method: 'post',
url: '/user/12345',
data: {
firstName: 'Fred',
lastName: 'Flintstone'
}
});
axios
илиfetch