jsonp

作者: 幽幽_默默 | 来源:发表于2020-03-17 20:17 被阅读0次

JSONP 是一种无需考虑跨域问题即可传送 JSON 数据的方法。

JSONP 不使用 XMLHttpRequest 对象。

JSONP 使用 <script> 标签取而代之。

由于同源策略,从另一个域中请求文件会遇到问题,jsonp就是一种可以突破限制,实现跨域的方式。

原理:Web页面上调用js文件时则不受是否跨域的影响,不仅如此,我们还发现凡是拥有”src”这个属性的标签都拥有跨域的能力,比如<\script>、<\img>、<\iframe>。

JSONP 利用了这个优势,并使用 script 标签替代 XMLHttpRequest 对象。

例如:<script src="demo_jsonp.php">

ajax使用jsonp的形式

$.ajax({

         url:'http://localhost:8080/g',

         type:'post',

         data:{'f':'f'},

         dataType: "jsonp",

         jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)

         jsonpCallback:"showData",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以不写这个参数,jQuery会自动为你处理数据

         success: function(data){

        console.log(data);

         },

或者jsonp自己使用

import JsonP from 'jsonp'

    static jsonp(options) {

        return new Promise((resolve, reject) => {

            JsonP(options.url, {

                param: 'callback'

            }, function (err, response) {

                if (response.status == 'success') {

                    resolve(response);

                } else {

                    reject(response.messsage);

                }

            })

        })

    }

相关文章

网友评论

      本文标题:jsonp

      本文链接:https://www.haomeiwen.com/subject/lavtyhtx.html