IP地址不同或是端口不同:都是属于跨域,是因为安全机制导致的,默认情况下,不是自己服务器发送的页面的js的数据是被拒绝
比如:请求天气的接口,就是跨域的,他的服务器是允许我们访问的(通过js来想服务器请求,关键是在服务器允不允许你请求)
如果服务器设置为允许,那么其他浏览器在请求时就不存在跨域情况
解决跨域:(浏览器请求不存在跨域问题,但是js在发起请求时会存在跨域问题,要得到后端的支持),当然,浏览器也有自己的安全机制
1、在服务器设置响应头,
允许什么域名和端:
允许请求什么类型文件:
后端:

jsonp的跨域请求:用js去封装一个script标签请求,请求回来的是一个js文件,这个js文件里面具有json相关的数据,通过函数的方式去调用获取。
前端部分:

后端部分:这样前端通过jsonp跨域就可以请求到数据了

ajax跨域:
例如:
前端部分:

后端部分:

比如这样写的话,浏览器可以拿得到,但是js是拿不到的,这就是浏览器的另外一个安全机制问题了,要不然就可以世界拿到用户的信息了,不安全,要通过js的代码去请求资源:

后台可以这样写,这种情况下就可以操作了:

浙公网安备 33010602011771号