CORS即跨域资源共享(Cross-Origin Resource Sharing)
跨域当然可以采取其他方式:jsonp,script标签等,这里主要说cors。
未做任何设置的前提下使用ajax发跨域请求,会出现 “已阻止交叉源请求:同源策略不允许读取 http://test.com/cross.php 上的远程资源。可以将资源移动到相同的域名上或者启用 CORS 来解决这个问题。”
浏览器根据头信息的反馈阻止了跨域请求。解决方式比较简单,就是在被请求里的文件里增加一行
如果是php语言
header("Access-Control-Allow-Origin: http://test.com"); //允许此域名跨域请求本文件
header("Access-Control-Allow-Origin: *"); //使用星号就是允许所有域名跨域请求
其他编程语言道理相同,都是修改http header
这样就可以发跨域请求了。
查看http头信息,的确是增加了一行:
Access-Control-Allow-Origin http://test.com
我们的困扰就解除了!