Я пытаюсь отправить запрос на получение, используя axios из файла vuex store.js, api, который я использую, это https://openlibrary.org/dev/docs/api/search когда я ищу api прямо в браузере, он работает нормально, однако он ничего не делает при отправке запроса с использованием axios из приложения, над которым я работаю.
вот код store.js
import Vue from 'vue'
import Vuex from 'vuex'
import axios from 'axios'
Vue.use(Vuex)
export default new Vuex.Store({
state: {},
mutations: {},
actions: {
findBook({commit, dispatch}, book) {
console.info('logged before the request'); //this gets logged to the console
axios.get('http://openlibrary.org/search.json?title=the+lord+of+the+rings')
.then(res => {
console.info(`logged after the request`); //this doesn't get logged
console.info(res);
}).catch(err => console.info(err))
}
}
})
кроме того, я не получаю ошибок из блока catch,
может кто-нибудь сказать мне, что мне здесь не хватает? заранее спасибо.
вообще ничего, понятия не имею почему !!
где / когда вы отправили это действие?
Я отправил это действие из компонента vue после запуска события щелчка, но я уверен, что проблема не имеет к этому никакого отношения, просто потому, что я получаю сообщение выше, зарегистрированное перед отправкой запроса, но я не получаю ни сообщения внутри запроса, ни сам ответ
хорошо, что говорит ваша сетевая панель? запрос был выполнен или не был выполнен?
Я воссоздал его, и он работает точно так, как задумал. Возможно, попробуйте удалить модуль узла axios и установить его снова.
@sarlem единственный запрос xhr имеет статус 200, но я ничего не получаю из блока ответа
@BennettDams, я удалил axios pckg и переустановил его снова, и все тот же результат, я действительно запутался, вы использовали его с vuex? и URL, он такой же, как в посте?
Да, Vuex и именно ваш код. Ошибка должна быть где-то еще.
@BennettDams, но если бы ошибка была из-за компонента vue, в котором я отправляю действие, я бы не получил первое сообщение, зарегистрированное в консоли, правильно ?!
Да, значит, это как-то связано с вашей консолью, браузером, кешем и т. д.
Если вы ничего не получили в ответ на свой запрос, это означает, что axios Promises не может завершиться, поэтому он не вызовет ваш then / catch. Можете ли вы добавить к своему вопросу точный запрос с полезной нагрузкой и всем остальным?
Я не отправлял полезную нагрузку из компонента vue, он мне не нужен, так как на самом деле я просто тестировал сам API, если вы проверяете URL-адрес с помощью запроса GET, он включает поисковый запрос, и если вы копируете тот же самый точный URL-адрес браузера, вы получите требуемый ответ. @BennettDams сказал, что воссоздал приложение с моим точно таким же кодом, и он получил ожидаемый ответ, поэтому я действительно не знаю, что, черт возьми, происходит у меня на стороне: S
Попробуйте https вместо http: axios.get('https://openlibrary.org/search.json?title=the+lord+of+the+rings')
Вот рабочий пример с вашим кодом (помимо https): codeandbox.io/s/0x5vp6jk4v
Я раздвоил код в ссылке, и да, он там действительно отлично работает, однако у меня все еще есть проблема на моем локальном компьютере, на этот раз я попробовал то же приложение в firefox вместо chrome, хотя я получил совершенно новую ошибку в консоли он говорит об ошибке сети и говорит CORS request did not succeed, который я, честно говоря, не перестал получать ... в дополнение к этому, я даже не получил сообщение, которое должно быть зарегистрировано перед отправкой запроса, как в chrome. это разветвленный код вcodeandbox Здесь, но в любом случае я действительно не могу вас отблагодарить :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Метод catch ничего не выводит?