Вопросы по тегу: axios

(18)

Как установить multipart в axios с помощью реакции?

Когда я что-то скручиваю, все работает нормально:curl -L -i -H 'x-device-id: abc' -F "url=http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" http://example.com/upload Как заставить это работать с axios? Я использую реакцию, если это имеет значение:uploadURL (url) { return axios.post({ url: 'http://example.com/upload', data: { url: url }, headers: { 'x-device-id': 'stuff', 'Content-Type': 'multipart/form-data' } }) .then((response) => response.data) } Это почему-то не работает.
S

Shamoon

5 лет назад

Ответов: 3

Как вернуть значения из асинхронных функций, используя асинхронное ожидание из функции?

Как вернуть значение из асинхронной функции? Я пытался поставить лайкconst axios = require('axios'); async function getData() { const data = await axios.get('https://jsonplaceholder.typicode.com/posts'); return data; } console.log(getData()); мне возвращается этоPromise { }
K

King Rayhan

4 года назад

Ответов: 3

как отменить/прервать запрос ajax в axios

Я использую axios для запросов ajax и reactJS + flux для рендеринга пользовательского интерфейса. В моем приложении есть третья временная шкала (компонент reactJS). Временной шкалой можно управлять с помощью прокрутки мыши. Приложение отправляет запрос ajax для фактических данных после любого события прокрутки. Проблема в том, что обработка запроса на сервере может быть медленнее, чем следующее событие прокрутки. В этом случае у приложения может быть несколько (обычно 2-3) запросов, которые уже устарели, потому что пользователь прокручивает дальше. это проблема, потому что каждый раз при получении новых данных таймлайн начинает перерисовываться. (Потому что это reactJS + flux) Из-за этого пользователь несколько раз видит движение таймлайна туда-сюда. Самый простой способ решить эту проблему — просто прервать предыдущий запрос ajax, как в jQuery. Например: $(document).ready( var xhr; var fn = function(){ if(xhr && xhr.readyState != 4){ xhr.abort(); } xhr = $.ajax({ url: 'ajax/progress.ftl', success: function(data) { //do something } }); }; var interval = setInterval(fn, 500); ); Как отменить/прервать запросы в axios?
R

Rajab Shakirov

6 лет назад

Ответов: 8

Как установить заголовок и параметры в аксиомах?

Я использую Axios для отправки HTTP-сообщения вроде этого:импортировать axios из 'axios' params = {'HTTP_CONTENT_LANGUAGE': self.language} заголовки = {'заголовок1': значение} axios.post (URL, параметры, заголовки) Это правильно? Или мне сделать:axios.post (URL, параметры: параметры, заголовки: заголовки)
u

user2950593

4 года назад

Ответов: 14

Make Axios send cookies in its requests automatically

I am sending requests from the client to my Express.js server using Axios. I set a cookie on the client and I want to read that cookie from all Axios requests without adding them manually to request by hand. This is my clientside request example:axios.get(`some api url`).then(response => ... I tried to access headers or cookies by using these properties in my Express.js server:req.headers req.cookies Neither of them contained any cookies. I am using cookie parser middleware:app.use(cookieParser()) How do I make Axios send cookies in requests automatically? Edit:I set cookie on the client like this:import cookieClient from 'react-cookie' ... let cookie = cookieClient.load('cookie-name') if(cookie === undefined){ axios.get('path/to/my/cookie/api').then(response => { if(response.status == 200){ cookieClient.save('cookie-name', response.data, {path:'/'}) } }) } ... While it's also using Axios, it is not relevant to the question. I simply want to embed cookies into all my requests once a cookie is set.
K

Kunok

5 лет назад

Ответов: 14

Как проверить аксиомы в Jest?

У меня в React есть такое действие:export function fetchPosts() { const request = axios.get(`${WORDPRESS_URL}`); return { type: FETCH_POSTS, payload: request } } Как в этом случае проверить Axios?У Jest есть этот вариант использования на своем сайте для асинхронного кода, где они используют фиктивную функцию, но могу ли я сделать это с помощью Axios?Ссылка: Пример асинхронного режимаЯ сделал это до сих пор, чтобы проверить, возвращает ли он правильный тип:it('should dispatch actions with the correct type', () => { store.dispatch(fetchPosts()); let action = store.getActions(); expect(action[0].type).toBe(FETCH_POSTS); }); Как я могу передать фиктивные данные и проверить, что они возвращаются?
A

Adear

5 лет назад

Ответов: 6

Vue JS возвращает данные [__ob__: Observer] вместо моего массива объектов

Я создал страницу, на которой хочу получить все свои данные из базы данных с помощью вызова API, но я тоже новичок в VueJS и Javascript, и я не знаю, где я ошибаюсь. Я проверил его с помощью Postman и получил обратно правильный JSON.Вот что я получаю:[__ob__: Observer] length: 0 __ob__: Observer {value: Array(0), dep: Dep, vmCount: 0} __proto__: Array Вот что я хочу:(140) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, …] [0 … 99] [100 … 139] length: 140 __ob__: Observer {value: Array(140), dep: Dep, vmCount: 0} __proto__: Array Это мой файл шаблона Vue: Pigeons in the racing loft {{ pigeon.id }} export default { data(){ return{ pigeons: [], pigeon: { id: '', sex: '', color_id: '', pattern_id: '', user_id: '', loft_id: '', country: '', experience: '', form: '', fatique: '' }, pigeon_id: '' } }, created(){ this.fetchPigeons(); console.log(this.pigeons); // Here I got the observer data instead my array }, methods: { fetchPigeons(){ fetch('api/racingloft') .then(res => res.json()) .then(res => { console.log(res.data); // Here I get what I need this.pigeons = res.data; }) } } } Я тоже пробовал делать это с помощью axios, но это дало мне то же самое. Когда я консолью его с помощью метода, он дает мои данные, но снаружи он просто ничего не дает.
s

shawnest

3 года назад

Ответов: 12

Ошибки обработки Axios

Я пытаюсь лучше понять обещания javascript с помощью Axios. Я делаю вид, что обрабатываю все ошибки в Request.js и вызываю только функцию запроса из любого места без необходимости использовать catch ().В этом примере ответом на запрос будет 400 с сообщением об ошибке в формате JSON.Это ошибка, которую я получаю:Неперехваченная (в обещании) Ошибка: запрос завершился неудачно с кодом состояния 400Единственное решение, которое я нашел, - это добавить .catch (() => {}) в Somewhere.js, но я стараюсь этого не делать. Возможно ли это?Вот код: Request.js export function request(method, uri, body, headers) { let config = { method: method.toLowerCase(), url: uri, baseURL: API_URL, headers: { 'Authorization': 'Bearer ' + getToken() }, validateStatus: function (status) { return status >= 200 && status Somewhere.js export default class Somewhere extends React.Component { ... callSomeRequest() { request('DELETE', '/some/request').then( () => { console.log('Request successful!') } ) } ... }
m

mignz

4 года назад

Ответов: 8

Axios получает URL-адрес, но со вторым параметром в качестве объекта он не работает

Я пытаюсь отправить запрос GET как второй параметр, но он не работает, пока работает как url.Это работает, $ _GET ['naam'] возвращает тест:export function saveScore(naam, score) { return function (dispatch) { axios.get('http://****.nl/****/gebruikerOpslaan.php?naam=test') .then((response) => { dispatch({type: "SAVE_SCORE_SUCCESS", payload: response.data}) }) .catch((err) => { dispatch({type: "SAVE_SCORE_FAILURE", payload: err}) }) } }; Но когда я пробую это, в $ _ GET ничего нет вообще:export function saveScore(naam, score) { return function (dispatch) { axios.get('http://****.nl/****/gebruikerOpslaan.php', { password: 'pass', naam: naam, score: score }) .then((response) => { dispatch({type: "SAVE_SCORE_SUCCESS", payload: response.data}) }) .catch((err) => { dispatch({type: "SAVE_SCORE_FAILURE", payload: err}) }) } }; Почему я не могу этого сделать? В документации четко сказано, что это возможно. С $ _ POST тоже не работает.
S

Sinan Samet

5 лет назад

Ответов: 4

Passing headers with axios POST request

I have written an Axios POST request as recommended from the npm package documentation like:var data = { 'key1': 'val1', 'key2': 'val2' } axios.post(Helper.getUserAPI(), data) .then((response) => { dispatch({type: FOUND_USER, data: response.data[0]}) }) .catch((error) => { dispatch({type: ERROR_FINDING_USER}) }) And it works, but now I have modified my backend API to accept headers. Content-Type: 'application/json' Authorization: 'JWT fefege...' Now, this request works fine on Postman, but when writing an axios call, I follow this link and can't quite get it to work.I am constantly getting 400 BAD Request error.Here is my modified request:axios.post(Helper.getUserAPI(), { headers: { 'Content-Type': 'application/json', 'Authorization': 'JWT fefege...' }, data }) .then((response) => { dispatch({type: FOUND_USER, data: response.data[0]}) }) .catch((error) => { dispatch({type: ERROR_FINDING_USER}) })
J

Jagrati

5 лет назад

Ответов: 10

Axios Удалить запрос с телом и заголовками?

Я использую Axios при программировании в ReactJS и делаю вид, что отправляю запрос DELETE на свой сервер.Для этого мне нужны заголовки:headers: { 'Authorization': ... } , а тело состоит изvar payload = { "username": .. } Я искал в интервалах и обнаружил, что метод DELETE требует «param» и не принимает никаких «данных».Пытался отправить вот так:axios.delete(URL, payload, header); или дажеaxios.delete(URL, {params: payload}, header); Но вроде ничего не работает ...Может ли кто-нибудь сказать мне, возможно ли (я полагаю, что это возможно) отправить запрос DELETE с заголовками и телом и как это сделать?Заранее спасибо!
A

Asfourhundred

4 года назад

Ответов: 15

Как отправить базовую аутентификацию с помощью axios

Я пытаюсь реализовать следующий код, но что-то не работает. Вот код: var session_url = 'http://api_address/ api / session_endpoint'; var username = 'пользователь'; var password = 'пароль'; var credentials = btoa (имя пользователя + ':' + пароль); var basicAuth = 'Basic' + учетные данные; axios.post (session_url, { заголовки: {'Authorization': + basicAuth} }). then (function (response) { console.log («Прошедшая проверку»); }). catch (function (error) { console.log ('Ошибка аутентификации'); }); Возвращает ошибку 401. Когда я делаю это с помощью Postman, есть возможность установить базовую аутентификацию; если я не заполню эти поля, он также вернет 401, но если я это сделаю, запрос будет успешным.Any ideas what I'm doing wrong?Вот часть документации API о том, как это реализовать: Эта служба использует информацию базовой аутентификации в заголовке для установления сеанса пользователя. Учетные данные проверяются на сервере. Использование этой веб-службы создаст сеанс с переданными учетными данными пользователя и вернет JSESSIONID. Этот JSESSIONID можно использовать в последующих запросах для вызовов веб-службы. *
E

Emmanuel

5 лет назад

Ответов: 10

Как скачивать файлы с помощью axios

Я использую axios для базовых HTTP-запросов, таких как GET и POST, и он работает хорошо. Теперь мне тоже нужно иметь возможность скачивать файлы Excel. Возможно ли это с помощью аксиомов? Если да, есть ли у кого-нибудь образец кода? Если нет, что еще я могу использовать в приложении React, чтобы сделать то же самое?
D

David Choi

5 лет назад

Ответов: 17

Как опубликовать файл из формы с помощью Axios

Используя необработанный HTML, когда я отправляю файл на сервер фляги, используя следующее, я могу получить доступ к файлам из глобального запроса фляги: В колбе: def post(self): if 'file' in request.files: .... Когда я пытаюсь сделать то же самое с Axios, глобальный запрос фляги пуст: uploadFile: function (event) { const file = event.target.files[0] axios.post('upload_file', file, { headers: { 'Content-Type': 'multipart/form-data' } }) } Если я использую ту же функцию uploadFile выше, но удаляю json-заголовки из метода axios.post, я получаю в ключе формы моего объекта запроса фляги список строковых значений csv (файл .csv).Как я могу получить объект файла, отправленный через axios?
D

Don Smythe

5 лет назад

Ответов: 6

Прикрепите заголовок авторизации для всех запросов axios

У меня есть приложение response / redux, которое извлекает токен с сервера api. После аутентификации пользователя я хотел бы, чтобы все запросы axios содержали этот токен в качестве заголовка авторизации без необходимости вручную прикреплять его к каждому запросу в действии. Я новичок в реакции / сокращении и не уверен в лучшем подходе, и я не нахожу качественных результатов в Google.Вот моя настройка редукции:// actions.js import axios from 'axios'; export function loginUser(props) { const url = `https://api.mydomain.com/login/`; const { email, password } = props; const request = axios.post(url, { email, password }); return { type: LOGIN_USER, payload: request }; } export function fetchPages() { /* here is where I'd like the header to be attached automatically if the user has logged in */ const request = axios.get(PAGES_URL); return { type: FETCH_PAGES, payload: request }; } // reducers.js const initialState = { isAuthenticated: false, token: null }; export default (state = initialState, action) => { switch(action.type) { case LOGIN_USER: // here is where I believe I should be attaching the header to all axios requests. return { token: action.payload.data.key, isAuthenticated: true }; case LOGOUT_USER: // i would remove the header from all axios requests here. return initialState; default: return state; } } Мой токен хранится в хранилище redux под state.session.token.Я немного не понимаю, как действовать дальше. Я попытался создать экземпляр axios в файле в моем корневом каталоге и обновить / импортировать его вместо node_modules, но он не прикрепляет заголовок при изменении состояния. Любые отзывы / идеи приветствуются, спасибо.
a

awwester

5 лет назад

Ответов: 9

запрос на отправку данных формы axios

axios POST запрос попадает в URL-адрес контроллера, но устанавливает нулевые значения для моего класса POJO, когда я просматриваю инструменты разработчика в chrome, полезная нагрузка содержит данные. Что я делаю не так?Запрос Axios POST:var body = { userName: 'Fred', userEmail: 'Flintstone@gmail.com' } axios({ method: 'post', url: '/addUser', data: body }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); Ответ браузера:Если я установил заголовки как:headers:{ Content-Type:'multipart/form-data' } Запрос выдает ошибку Ошибка при публикации multipart / form-data. В заголовке Content-Type отсутствует граница Если я сделаю такой же запрос в почтальоне, он будет работать нормально и установить значения для моего класса POJO.Может ли кто-нибудь объяснить, как установить границу или как я могу отправить данные формы с помощью axios.
S

Srikanth Gowda

4 года назад

Ответов: 15

Как я могу получить код состояния из-за ошибки HTTP в Axios?

Это может показаться глупым, но я пытаюсь получить данные об ошибке при сбое запроса в Axios.аксиомы .get ('foo.com') .then ((ответ) => {}) .catch ((error) => { console.log (ошибка); // Регистрирует строку: Ошибка: запрос завершился неудачно с кодом состояния 404 }); Можно ли вместо строки получить объект, возможно, с кодом состояния и содержимым? Например:Object = {status: 404, reason: 'Not found', body: '404 Not found'}
S

Sebastian Olsen

5 лет назад

Ответов: 14

Axios получает доступ к полям заголовков ответов

Я создаю фронтенд-приложение с React и Redux и использую axios для выполнения запросов. Я хотел бы получить доступ ко всем полям в заголовке ответа. В браузере я могу просмотреть заголовок и вижу, что все необходимые мне поля присутствуют (такие как token, uid и т.д...), но когда я вызываюconst request = axios.post(`${ROOT_URL}/auth/sign_in`, props); request.then((response)=>{ console.log(response.headers); }); Я получаю толькоObject {content-type: "application/json; charset=utf-8", cache-control: "max-age=0, private, must-revalidate"} Здесь вкладка сети моего браузера, как вы можете видеть, все остальные поля присутствуют.Лучшее.
T

TWONEKSONE

6 лет назад

Ответов: 13

2022 WebDevInsider