关于ajax请求跨域问题解决

一、直接在服务器的站点配置中设置允许跨域:

  参考:http://blog.csdn.net/emily201314/article/details/52877277

  步骤1 #打开apache的headers模块

sudo  a2enmod headers

  步骤2 #修改配置文件

<VirtualHost *:80>
        ServerName www.api.com
        DocumentRoot /xxx
        

#对所有域名开放
Header set Access-Control-Allow-Origin *

#对指定域名开放

Header set Access-Control-Allow-Origin http://www.ivhong.com

</VirtualHost>

  步骤3  #重启服务

sudo service apache2 restart

  测试跨域访问即可

2. nginx中配置跨域支持功能  2016-03-16 14:16:13

分类: LINUX

在nginx.conf中配置
http {
  ......
  add_header Access-Control-Allow-Origin *;
  add_header Access-Control-Allow-Headers X-Requested-With;
  add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
  ......
}

这样就可以实现GET,POST,OPTIONS的跨域请求的支持
也可以 add_header Access-Control-Allow-Origin http://test.51testing.com; --指定允许的url;

二、服务端程序代码里面,添加允许跨域:
跨域访问,ajax php
跨域核心代码(根据自己需求选择header)
  1. // 允许 baidu.com 发起的跨域请求
  2. header("Access-Control-Allow-Origin: baidu.com"); 
  3. //如果需要设置允许所有域名发起的跨域请求,可以使用通配符 *
  4. header("Access-Control-Allow-Origin: *");
复制代码
php代码
  1. public function callback(){
  2. header("Access-Control-Allow-Origin: *");
  3. echo '你的代码,推荐使用json数据';






猜你喜欢

转载自blog.csdn.net/little_rabbit_baby/article/details/78423635