"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como fazer solicitações JSONP entre domínios em JavaScript sem bibliotecas externas?

Como fazer solicitações JSONP entre domínios em JavaScript sem bibliotecas externas?

Publicado em 31/10/2024
Navegar:159

How to Make Cross-Domain JSONP Requests in JavaScript Without External Libraries?

Fazendo solicitações JSONP a partir de JavaScript sem bibliotecas externas

Para solicitações JSONP entre domínios em JavaScript, bibliotecas externas como jQuery nem sempre são necessárias. Aqui está um guia para fazer isso usando JavaScript puro:

Etapa 1: Crie uma função de retorno de chamada

Comece definindo uma função de retorno de chamada para receber e processar a resposta JSONP. No exemplo fornecido, a função foo executa esta tarefa:

function foo(data) {
  // Do something with the JSON response here
}

Etapa 2: Criar dinamicamente um elemento de script

Em seguida, crie um elemento

var script = document.createElement('script');
script.src = '//example.com/path/to/jsonp?callback=foo';

Etapa 3: anexar o elemento Script ao DOM

Uma vez que o elemento

document.getElementsByTagName('head')[0].appendChild(script);

Para navegadores modernos, você pode simplificar esta linha para:

document.head.appendChild(script);

Example

Reunindo essas etapas, aqui está um exemplo completo de como fazer uma solicitação JSONP em JavaScript sem uma biblioteca externa :

function foo(data) {
  // Do stuff with JSON
}

var script = document.createElement('script');
script.src = '//example.com/path/to/jsonp?callback=foo'

document.head.appendChild(script);
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3