Я хочу получить несколько API на одной странице. С помощью следующего кода все возвращаемые данные из «apione» работают, но я не уверен, почему я ничего не получаю от «apitwo».
async created() { let apione = "https://k67r3w45c4.execute-api.ap-southeast-1.amazonaws.com/TwitterTrends"; let apitwo = "http://ec2-54-179-187-25.ap-southeast-1.compute.amazonaws.com/Test/?param1=HelloHanbinIsFREE" try { const res = await axios.get(apione); this.toptrends1 = res.data[0].Trends; this.toptrends2 = res.data[1].Trends; this.toptrends3 = res.data[2].Trends; this.toptrends4 = res.data[3].Trends; this.toptrends5 = res.data[4].Trends; this.tweet1 = res.data[0].TweetVolume; this.tweet2 = res.data[1].TweetVolume; this.tweet3 = res.data[2].TweetVolume; this.tweet4 = res.data[3].TweetVolume; this.tweet5 = res.data[4].TweetVolume; var thetime = res.data[0].retrievalDate thetime = thetime.split("T")[0]; this.time = thetime // ----------------------------------API 2 ------------------------------------- const res2 = await axios.get(apitwo); this.trend1fre = res2.data[0].Frequency; } catch (e) { console.errpr(e); } },
Откройте Инструменты разработчика в вашем браузере. Посмотрите на Консоль. Прочитайте сообщения об ошибках .
Когда я проверяю ваш код, я получаю:
Смешанный контент: страница в 'https://jsbin.com/?html,js,console' была загружена через HTTPS , но запросил небезопасную конечную точку XMLHttpRequest 'http://ec2-54-179-187-25.ap-southeast-1.compute.amazonaws.com/Test/?param1=HelloHanbinIsFREE'. Этот запрос был заблокирован; контент должен обслуживаться по HTTPS.
https://jsbin.com/?html,js,console
http://ec2-54-179-187-25.ap-southeast-1.compute.amazonaws.com/Test/?param1=HelloHanbinIsFREE
Один из ваших API использует HTTP, другой - HTTPS. Они оба должны использовать ту же схему, что и вы, чтобы загрузить документ HTML (и почти наверняка это будет HTTPS).
проблема с ответом от apitwo заключается просто в отсутствии необходимого заголовка Access-Control-Allow-Origin, вы все равно можете заставить его работать - сделав запрос через прокси-сервер CORS. замените ниже
apitwo
Access-Control-Allow-Origin
const res2 = await axios.get(apitwo);
на
const res2 = await axios.get('https://cors-anywhere.herokuapp.com/'+apitwo);
для дальнейшего исследования проблемы go на этот ответ о потоке стека
попробуй axios.all([apione, apitwo])
axios.all([apione, apitwo])