AJAX的跨域

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");  

 

上一篇:043-socket编程发送GET请求


下一篇:设置response.setHeader时,含有中文字符,中文乱码