跨域访问方法列举 jsonp 和 客户端

在回答上面的跨域问题之前,我们先了解一下上面是同源这个概念

同源,就是指两个页面具有相同的协议,主机(也常说域名),端口,三个要素缺一不可。相同的协议+域名+端口,我们可以确定是同源的。同源直接可以互相访问相互间的资源。

那什么是跨域呢?

跨域,域名不同或者端口不同,协议不同,这些只要有一个不同就属于跨域。跨域不能随意访问不同域里面的资源的,比如分布式工程,工程A是不能访问工程B的资源的。

那如果项目不得不要进行跨域访问呢?所以就需要跨域的解决方法

方法:jsonp  和  httpclient 

jsonp的跨域原理:

js是一种动态语言,不能单独使用,通常在页面与jsp一起使用,js的<script>标签的src是具有跨域功能的,通过这个src标签可以实现跨域问题。
原理:script标签的src通过跨域加载到资源之后,需要将资源解析成它自己所需要的js脚,只要这样才可以将数据返回。
所以我们必须将获取的资源转换成js脚本,才可以让src访问到资源后,将资源返回。

或者直接异步 ajax 进行实现,dataType 一定为jsonp  格式,否则无效

httpClient的方式实现跨域访问:比如php 语言脚本,或者其他的客户端脚本语言都行,设置response 返回头进行相关的访问,Access-Control-Allow-Origin 设置为 "*" 该值

原文地址:https://www.cnblogs.com/fangdada/p/14965565.html