AJAX的跨域
ajax:同源策略:
主机地址+端口号 ,相同称为同源;不同称为跨域。
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或端口请求一个资源时,资源会发起一个跨域 HTTP 请求。
解决跨域
前端解决跨域 :jsonp
jsonp:就是解决ajax跨域问题
在ajax中
dataType = "jsonp"; / 使用jsonp
jsonpCallback = "String";/ 为回调函数取名
jsonp的原理:通过动态添加<script>标签来实现跨域。
后台解决跨域
采用cors机制,设置响应的头部信息(让服务器端支持跨域)
/* 允许跨域的主机地址 */ response.setHeader("Access-Control-Allow-Origin", "*"); /* 允许跨域的请求方法GET, POST, HEAD 等 */ response.setHeader("Access-Control-Allow-Methods", "*"); /* 重新预检验跨域的缓存时间 (s) */ response.setHeader("Access-Control-Max-Age", "3600"); /* 允许跨域的请求头 */ response.setHeader("Access-Control-Allow-Headers", "*"); /* 是否携带cookie */ response.setHeader("Access-Control-Allow-Credentials", "true");