JSONP的工作原理是什么?
对于开发人员来说,离不开API的开发和调用,我们在日常开发中,如果调用了第三方的API,而且此第三方API是以json数据格式返回时,默认是无法直接调用的(比如AJAX调用),因为会涉及到跨域问题。如何解决JSON跨域调用呢?那就得用到JSONP!
JSON和JSONP的区别最简单的理解:JSON是一种数据格式,而JSONP是一种数据调用的。还有一种不严谨的理解:带callback的JSON是JSONP。
由于浏览器的同源策略,上网页是无法和服务器直接沟通的,JSONP就是用来解决浏览器跨域数据访问的。
JSONP的原理分析上面说到了,所有主流浏览器出于安全因素考虑都有同源策略,而HTML中的ltscriptgt标签则不受此限制(ltscriptgt标签没有跨域限制)!所以我们可以利用这个特性来和第三方进行数据通讯。
JSONP整个工作流程大概如下:
1、调用方页面上使用script标签引用第三方API地址;
2、第三方响应的数据是JSON数据的包装,格式如下:
callback({name:susan
java开发是如何解决ajax跨域问题的?
两个解决方案
1.使用jsonp技术
2.响应头携带安全信息
第一种jsop这种技术方案太老,第二种服务端对cors处理,第三种使用nginx做转发