资讯专栏INFORMATION COLUMN

JSONP 是什么

shadajin / 2354人阅读

摘要:是什么说实话,我学了这么久,其实也没有好好了解这个东西,当然平常自己在前端方面也涉猎较浅。是什么是的一种使用模式,可用于解决主流浏览器的跨域数据访问的问题。有效避免了直接向远程服务器请求数据

JSONP 是什么

说实话,我学了这么久,其实也没有好好了解这个东西,当然平常自己在前端方面也涉猎较浅。

1) jsonp 是什么
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的 跨域 数据访问的问题。

跨域? 由于同源策略的原因,也就是说你请求资源时,浏览器对于不是你当前域名或者端口号都相同的地址给与禁止访问,不允许你获取资源

同源策略:

examle.com:8080 与 examle.com:9090 不同源

examle.com:8080 与 examle.com:9090 不同源

a.examle.com 与 examle.com 不同源

2) 如何解决同源策略带来的问题
浏览器中对");
        
        //2)
            $.ajax({
                url : "http://localhost/jsonp/service.php",
                type: "GET",
                dataType: "jsonp",
                jsonp: "jsonp", // 自定义,保证后端能通过这个key值获取函数名
                jsonpCallback: "showdata",//自定义的jsonp回调函数名称
                success: function (json) {
                    alert("success");
                },
                error: function () {
                    alert("fail");
                }
            })
        })
    


    --------------------


    header("Content-type: application/json");
    //获取回调函数名
    $jsonp = htmlspecialchars($_REQUEST ["jsonp"]);
    //json数据
    $json_data = "["customername1","customername2"]";
    //输出jsonp格式的数据
    echo $jsonp . "(" . $json_data . ")";  // 格式进行拼接,得到showdata(["customername1","customername2"]);


    --------------

由此可见,其实就是远程服务器代前端处理了相关函数,通过返回一个带参数的函数表达式,来进行执行相关逻辑代码。 有效避免了直接向远程服务器请求数据

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29540.html

相关文章

  • JSONP 什么

    摘要:是什么说实话,我学了这么久,其实也没有好好了解这个东西,当然平常自己在前端方面也涉猎较浅。是什么是的一种使用模式,可用于解决主流浏览器的跨域数据访问的问题。有效避免了直接向远程服务器请求数据 JSONP 是什么 说实话,我学了这么久,其实也没有好好了解这个东西,当然平常自己在前端方面也涉猎较浅。 1) jsonp 是什么 JSONP(JSON with Padding)是JSON的一...

    233jl 评论0 收藏0
  • 关于javascript跨域及JSONP的原理与应用

    摘要:因为同源策略的限制,我们不能在与外部服务器进行通信的时候使用。这个是跨域服务器取数据的接口,参数为回调函数的名字,返回的格式为原理首先在客户端注册一个然后把的名字传给服务器。 一、同源策略 同源策略,它是由Netscape提出的一个著名的安全策略,现在所有的可支持javascript的浏览器都会使用这个策略。 为什么需要同源策略,这里举个例子: 假设现在没有同源策略,会发生什么事...

    CoderBear 评论0 收藏0
  • Java Ajax jsonp 跨域请求

    摘要:是一种协议,为了解决客户端请求服务器跨域的问题,但是并非是正式的传输协议。结果明明请求回来数据,结果还是报错。是一种使用数据的方式,返回的不是对象,是包含对象的脚本。 1、什么是JSONP 一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的 元素是一个例外。利用 元素的这个开放策略,网页可以得到...

    OBKoro1 评论0 收藏0
  • 什么 JSONP

    摘要:因为有同源策略,而在实际开发中又常常会有跨域的需求,早期开发者为了解决跨域问题而搞出来这样一个颇为奇怪的东西。安全早期的浏览器处于安全层面的考量,制定同源策略,限制了一个源中加载文本或脚本与来自其它源中资源的交互方式。 AJAX、JSON、JSONP 在 WEB 开发中,经常见到诸如 AJAX、JSON、JSONP 这些名词。三者看起来很像,很多同学尤其是没有系统了解过前端技术体系的同...

    iKcamp 评论0 收藏0
  • 浅谈JSONP

    摘要:就这样被发明了,利用的属性不受同源策略的控制,作弊般地巧妙地逃过了浏览器的这一限制。然后,声明这个回调函数。 这是我在13年初写的文章,当时懵懵懂懂写下了自己对JSONP的理解。 文章原文 博客 欢迎订阅 提到JSONP,我当时在网上找了无数帖子也没有看懂它。那些文章大同小异,都是讲到JSONP原理以后就戛然而止,把我们这些初学者搞得云里雾里。所以,写下这篇文章,希望对大家有帮助...

    binta 评论0 收藏0

发表评论

0条评论

shadajin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<