Ajax跨域問題是由瀏覽器的同源策略造成的, 我們可以通過協議+域名+端口確定一個源. 你可以把一個項目理解為一個源. Ajax請求可以對源內的資源發起訪問, 但是不同源之間進行Ajax就會有問題.簡單來說就是,前臺頁面ajax獲取數據的地址和前臺頁面地址不是同一個站點,或者不是同一個訪問地址。
如果直接使用ajax訪問,會有以下錯誤:

最簡單的解決方式就是在ajax訪問文件的頭部添加header標簽來允許網站訪問,允許固定的域名訪問
header('Access-Control-Allow-Origin:http://www.cnwenhui.com');上面的代碼是允許該網址進行請求。也可以添加多個網址,允許多個域名訪問,添加方法略有不同,傳入數組
$origin = isset($_SERVER['HTTP_ORIGIN'])? $_SERVER['HTTP_ORIGIN'] : '';
$allow_origin = array(
'http://client1.runoob.com',
'http://client2.runoob.com'
);
if(in_array($origin, $allow_origin)){
header('Access-Control-Allow-Origin:'.$origin);
}如果是不考慮安全方面的問題,則直接允許所有網址訪問就可以
header('Access-Control-Allow-Origin:*');一般我在項目中使用最后一種較多,在不涉及隱私和金錢方面或者需要安全性較高的接口,一般允許所有訪問。
上一篇: C#中函數out與ref關鍵字介紹
下一篇: 介紹一下a標簽的用法



