O que é JSONP?

O que é JSONP?

O que é JSONP, o que é JSONP, como usar JSONP.

Primeiro, saiba que

  1. O princípio fundamental do JSONP é que a página de destino chama um método da página local e passa parâmetros.
  2. As páginas dinâmicas que costumamos usar são jsp, php, aspx.

Por que precisamos de JSONP?

Devido a restrições de segurança do navegador, os dados não podem ser solicitados diretamente entre domínios (incluindo domínios raiz diferentes, subdomínios ou diferentes portas), a menos que o domínio de destino autorize o seu acesso. Por exemplo, configurando crossdomain.xml ou autorizando nos cabeçalhos HTTP.

No entanto, o crossdomain.xml permite que os sites configurados acessem todos os dados, enquanto a configuração do cabeçalho é bastante complicada.

Portanto, é possível configurar o JSONP nos dados de retorno autorizados para permitir que essa interface permita que todos os chamadores acessem os dados.

O princípio do JSONP.

JSONP é um princípio que utiliza callbacks para métodos.

Em uma página da web, se você importar o JS de outra página, o JS dessa página pode chamar o código da sua página.

O efeito do JavaScript diretamente solicitado e do código JavaScript gerado em páginas dinâmicas (jsp, php, aspx) é o mesmo.

如果引用的js或动态页面里有 showjson({"url":" http://www.bejson.com "});这行代码的话,那就会弹出 http://www.bejson.com

A primeira forma de JSONP é carregar o alvo como um arquivo JavaScript, embora na verdade o lado oposto seja um PHP.

Abaixo, vamos fazer um pedido nesta página. http://www.ibilibili.com/static/js/forbejson/userinfo.php Os dados da página, esta página PHP terá uma função de callback chamada showjson, que chamará o método showjson na nossa página bejson e passará um JSON como parâmetro:

Solicitação e função de retorno em PHP:

http://ww3.sinaimg.cn/large/7fa0b485jw1evv94p3v16j20oz09xtb5.jpg

Então, se fizermos a captura de pacotes, veremos (como na imagem acima) que, ao clicar no botão, foi feita uma solicitação HTTP.

Pedido feito. www.bejson.com/test/userinfop.php página,

页面里输出了 showjson({"url":" http://www.bejson.com "}) ,

Porque é baseado em carregado na forma de arquivo javascript Portanto, ele fará uma chamada de retorno para a página local showjson (veja a seta verde) e passará os parâmetros JSON (veja a seta vermelha), resultando na exibição da URL contida no JSON.

Faça uma solicitação JSONP diretamente usando jQuery AJAX.

Obrigado. cabaça Identifique o erro no código e forneça o código correto.

Você usou recentemente:

Coleção Menu QQ