Maison  >  Article  >  interface Web  >  Comment jsonp obtient-il des données sur tous les domaines ? (exemple de code)

Comment jsonp obtient-il des données sur tous les domaines ? (exemple de code)

青灯夜游
青灯夜游avant
2019-01-05 10:24:143221parcourir

Comment jsonp obtient-il des données sur tous les domaines ? Cet article vous présentera la méthode jsonp pour obtenir des données inter-domaines. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Conseils d'acquisition de données inter-domaines JSONP

Étant donné que le navigateur a une politique de même origine, vous devez obtenir des données non originales ( protocole, nom de domaine , si les trois ports sont différents, les données de la page sont considérées comme non originales), il doit être cross-domain

(1) principe jsonp

Étant donné que l'attribut src de la balise script peut accéder aux scripts js non originaux, accéder au serveur via l'attribut src renverra le code js de la fonction, et les données que nous voulons sont renvoyées sous forme de paramètre de fonction, et nous allons d'abord définir cette fonction et retourner Le code js peut être exécuté

(2) code d'implémentation jsonp

page de demande

76c82f278ac045591c9159d381de2c57
100db36a723c770d327fc0aef2ce13b1
93f0f5c25f18dab9d176bd4f6de5d30e
    b2386ffb911b14667cb8f0f91ea547a76e916e0f7d1e588d4f442bf645aedb2f
9c3bca370b5104690d9ef395f2c5f8d1
6c04bd5ca3fcae76e30b72ad730ca86d
8019067d09615e43c7904885b5246f0a
    function jsonp(data){
        console.log(username)
    }
2cacc6d41bbb37262a98f745aa00fbf0
32c428c1a65afb4c21320ec475b9ffe4
2cacc6d41bbb37262a98f745aa00fbf0
8019067d09615e43c7904885b5246f0a
    $(document).ready(function(){
        var url = "http://www.example.com/jsonp.php?callback=jsonp";
        var script = $('3f1c4e4b6b16bbbd69b2ee476dc4f83a053a9cc4c2e9b9f6f911642332d34e85');
        script.attr("src",url);
        $("body").append(script);
    });
2cacc6d41bbb37262a98f745aa00fbf0
36cc49f0c466276486e50c850b7e4956
73a6ac4ed44ffec12cee46588e518a5e
7bf6f68ac33b2a6d14a606479bed8015

Après cela, php retournera

jsonp({
    name:'niuni
})

puis le code h renvoyé par PHP sera exécuté par la méthode jsonp de la page demandée

(3) Jsonp simple cross-domain de jQuery

<script>
    function showData (data) {
        console.info(data);
    }
    $(document).ready(function () {
        $("#btn").click(function () {
            $.ajax({
                url: "http://www.example.comjsonp",
                type: "GET",
                dataType: "jsonp",// 返回数据类型
                jsonpCallback: "showData",//回调函数
                // 获取数据成功就执行success函数
                success: function (data) {
                    console.info("data");
                }
            });
        });
    });
</script>

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, J'espère que cela sera utile à l'étude de chacun. Pour un contenu plus passionnant, vous pouvez prêter attention aux colonnes de didacticiels pertinentes du site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer