estou usando um servidor criado pelo webpack e estou tentando fazer uma requisição com o Axios, mas o chrome bloqueia minhas requisições feitas por esse local host. Pesuisei na internet, td mundo fala sobre preencher o cabeçalho, mas niguem informa oque é, onde fica e como preenche esse cabeçalho.
mostra oq vc fez no node
const repoIn = this.inputEl.value;
if (repoIn === 0) {
return;
}
const response = await api.get(`/${repoIn}?tab=repositories`);
console.log(response)
é ai que está a promisse. o ‘api’ está sendo importado de uma constante onde configurei o Axios
import axios from 'axios';
const api = axios.create({
baseURL: 'https://github.com/'
})
export default api;
Não, no Node, cadê o código do node
ficou meio bugado, n sei mexer no site direito ksksk
onde eu acho isso? esse trecho retirei do file que estou usando
Quando for postar código, seleciona todo o trecho e clica em </>
Ah entendi, é que vc falou no titulo que o cors ta bloquando requisições feitas pela sua API e no código vc botou o Github…
O que vc está fazendo de fato?
eu estou tentando criar um app de busca, que pega o repositório de usuários do github. ai eu to usando o axios pra fazer essa requisição,
import api from './api'
class App {
constructor() {
this.repositories = [];
this.formEl = document.getElementById('repo-form')
this.repoList = document.getElementById('repo-list')
this.inputEl = document.getElementById('nome')
this.registerHandlers();
}
registerHandlers() {
this.formEl.onsubmit = event => this.addRepository(event);
}
async addRepository(event) {
event.preventDefault();
const repoIn = this.inputEl.value;
if (repoIn === 0) {
return;
}
const response = await api.get(`/${repoIn}?tab=repositories`);
console.log(response)
this.repositories.push({
name: 'teste.com',
description: 'teste rodando',
avatar_url: 'https://www.pngitem.com/pimgs/m/69-697652_image-creative-graphic-designer-logo-hd-png-download.png',
html_url: 'http://github.com/rocketseat'
})
this.render()
}
render() {
this.repoList.innerHTML = '';
this.repositories.forEach((repo) => {
let imgEl = document.createElement('img');
imgEl.setAttribute('src', repo.avatar_url)
let titleEl = document.createElement('strong');
titleEl.appendChild(document.createTextNode((repo.name)));
let descriptionl = document.createElement('p');
descriptionl.appendChild(document.createTextNode(repo.description));
let linkEl = document.createElement('a');
linkEl.setAttribute('href', repo.html_url);
linkEl.setAttribute('target', 'blank');
linkEl.appendChild(document.createTextNode('Acessar'));
let listem = document.createElement('li');
listem.appendChild(imgEl);
listem.appendChild(titleEl);
listem.appendChild(descriptionl);
listem.appendChild(linkEl);
this.repoList.appendChild(listem);
console.log(this.repoList);
})
}
}
new App();
Aproveita e coloca o erro também
localhost/:1 Access to XMLHttpRequest at ‘https://github.com/?tab=repositories’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested rTexto pré-formatado
esource.
Cara, eu acredito que vc nao ta passando o usuário. Até pq esse link: github.com/?tab=repositories requer um login.
Experimenta passar o usuário de alguém antes, eu testei no insominia e deu certo:
é uma template literals, /${usuario}?tab=repositories
, redireciona a um perfil público do git hub. quando tento fazer a requisição com o axios fora do servidor local, o código roda, mas quando eu tento pelo localhost, o browser não me deixa executar, por causa de uma medida de segurança “CORS policy”, que bloqueia requisições cross-origin.
Cara, é exatamente o que eu tava pensando, essa url ta errada…
Tenta essa:
https://api.github.com/users/kingaspx/repos
essa aqui ta certa, eu testei aqui e funcionou
Tentei adicionar os headers mas mesmo assim nao tive sucesso, apenas trocando a URL.
Pra adicionar header no axios:
const headers = {
'Content-Type': 'text/plain'
};
await axios.post(
'http://site.comm.br/login',
{headers}
).then(response => {
console.log("Deu certo :D, ", response);
})
.catch(error => {
console.log("Não deu certo... ", error);
}
)
ta rodandooo, obrigado. mds eu fiquei até 4 da manhã tentando resolver ksksk