1. 程式人生 > >關於ajax請求跨域問題解決

關於ajax請求跨域問題解決

一、直接在伺服器的站點配置中設定允許跨域:

1. ubuntu-apache如何解決跨域資源訪問

  參考: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資料';