Explicação do conceito
A ideia central por trás do JSONP é retornar um JavaScript arquivo que invoca a função de retorno de chamada e fornece o objeto JSON como o primeiro parâmetro. A função json_encode() em PHP pode ser usada para converter arrays e objetos em strings JSON.
Ao utilizar JSONP, você pode estabelecer comunicação entre scripts de domínios diferentes, ignorando efetivamente as limitações da política de mesma origem e habilitando dados troca entre domínios.
","image":"http://www.luping.net/uploads/20241025/1729819813671af4a53548c.jpg","datePublished":"2024-11-08T21:36:51+08:00","dateModified":"2024-11-08T21:36:51+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Implementação de retorno de chamada JSONP para JavaScript entre domínios
Para facilitar a comunicação entre diferentes domínios, o JSONP (JSON com preenchimento) foi introduzido. Essa técnica envolve a criação de uma função de retorno de chamada que pode ser usada para agrupar os dados JSON e torná-los acessíveis a partir de um domínio diferente. Veja como implementar JSONP em PHP:
Aceitando o parâmetro de retorno de chamada
Primeiramente, na solicitação GET, aceitamos um parâmetro chamado "callback":
if(array_key_exists('callback', $_GET)){
...
}
Envolvendo a função de retorno de chamada
Em seguida, agrupamos a função JavaScript de retorno de chamada em torno de nossos dados. Por exemplo:
$callback = $_GET['callback'];
echo $callback.'('.$data.');';
PHP Exemplo
Aqui está um exemplo em PHP:
Uso de JavaScript
Para utilizar o serviço JSONP, você pode empregar a tag de script:
Explicação do conceito
A ideia central por trás do JSONP é retornar um JavaScript arquivo que invoca a função de retorno de chamada e fornece o objeto JSON como o primeiro parâmetro. A função json_encode() em PHP pode ser usada para converter arrays e objetos em strings JSON.
Ao utilizar JSONP, você pode estabelecer comunicação entre scripts de domínios diferentes, ignorando efetivamente as limitações da política de mesma origem e habilitando dados troca entre domínios.
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