一、问题描述
1.使用ajax请求url时出现跨域错误
No ‘Access-Control-Allow-Origin’ header is present on the requested resource,并且The response had HTTP status code 404
二、什么是跨域
1.ajax出现请求跨域错误问题,主要原因就是因为浏览器的“同源策略”。
2.同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。
它的定义是:
一段脚本向后台请求数据,只能读取属于同一协议名、同一主机名、同一端口号下的数据;
所以,请求不同协议名、不同端口号、不同主机名下面的文件时,
将会违背同源策略,无法请求成功,需要进行跨越处理!!
三、跨域问题的解决方法
1.PHP
第一步:配置Php 后台允许跨域
<?php header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept'); //主要为跨域CORS配置的两大基本信息,Origin和headers (试了网上很过方法只添加了第一句发现还是不行,亲身体验,苦啊~ 如果第一步做完还没有解决再修改第二步,我是修改了第一步就解决问题) 第二步:配置Apache web服务器跨域(httpd.conf中) 原始代码 AllowOverride none Require all denied 改为以下代码 Options FollowSymLinks AllowOverride none Order deny,allow Allow from all 2.JAVA的处理等其他问题参考源文档https://segmentfault.com/a/1190000012469713 [原文档链接地址](https://segmentfault.com/a/1190000012469713)