摘要:是什么说实话,我学了这么久,其实也没有好好了解这个东西,当然平常自己在前端方面也涉猎较浅。是什么是的一种使用模式,可用于解决主流浏览器的跨域数据访问的问题。有效避免了直接向远程服务器请求数据
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
摘要:因为同源策略的限制,我们不能在与外部服务器进行通信的时候使用。这个是跨域服务器取数据的接口,参数为回调函数的名字,返回的格式为原理首先在客户端注册一个然后把的名字传给服务器。 一、同源策略 同源策略,它是由Netscape提出的一个著名的安全策略,现在所有的可支持javascript的浏览器都会使用这个策略。 为什么需要同源策略,这里举个例子: 假设现在没有同源策略,会发生什么事...
摘要:是一种协议,为了解决客户端请求服务器跨域的问题,但是并非是正式的传输协议。结果明明请求回来数据,结果还是报错。是一种使用数据的方式,返回的不是对象,是包含对象的脚本。 1、什么是JSONP 一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通,而 HTML 的 元素是一个例外。利用 元素的这个开放策略,网页可以得到...
摘要:因为有同源策略,而在实际开发中又常常会有跨域的需求,早期开发者为了解决跨域问题而搞出来这样一个颇为奇怪的东西。安全早期的浏览器处于安全层面的考量,制定同源策略,限制了一个源中加载文本或脚本与来自其它源中资源的交互方式。 AJAX、JSON、JSONP 在 WEB 开发中,经常见到诸如 AJAX、JSON、JSONP 这些名词。三者看起来很像,很多同学尤其是没有系统了解过前端技术体系的同...
阅读 2537·2021-09-22 15:25
阅读 2944·2021-09-14 18:03
阅读 1169·2021-09-09 09:33
阅读 1680·2021-09-07 09:59
阅读 2875·2021-07-29 13:50
阅读 1482·2019-08-30 15:44
阅读 1693·2019-08-29 16:22
阅读 1270·2019-08-29 12:49