Web开发过程中,我们比较常用的一个技术就是Ajax(不懂的自行百度)。在使用Ajax请求的时候,有时候会涉及到跨域问题。

跨域问题的解决比较常用的有两种方式 1.使用jsonp协议,2.服务器上设置允许跨域请求

这边主要介绍下第二种方式的处理

服务器上设置允许跨域

1.代码层面的实现

*使用PHP的header()函数,设置http头部

代码示例:

$result = array(
        'code' =>$code,
        'msg' => $msg,
        'data' => $data
        );
	header("Access-Control-Allow-Origin:*");
echo json_encode($result);exit;

2.Web服务器配置

Nginx虚拟主机中的配置:

location /{
	add_header 'Access-Control-Allow-Origin' '*';
	add_header 'Access-Control-Allow-Credentials' 'true';
	add_header 'Access-Control-Allow-Methods' 'GET,POST';
}

第一个表示:允许跨域请求的域名,* 表示所有,也可以指定域名,例如:https://www.nuxtv.com

第二个表示:响应于该请求是否可以被暴露

第三个表示:允许请求的方法