久久无码中文字幕_日韩精品无码一本二本三_久久精品呦女暗网_欧美一级夜夜爽_久久精品国产99久久99久久久

09
2019/09

Ajax跨域問(wèn)題的解決方法

發(fā)布時(shí)間:2019-09-09 10:18:28
發(fā)布者:就是帥
瀏覽量:
0

Ajax跨域問(wèn)題是由瀏覽器的同源策略造成的, 我們可以通過(guò)協(xié)議+域名+端口確定一個(gè)源.  你可以把一個(gè)項(xiàng)目理解為一個(gè)源. Ajax請(qǐng)求可以對(duì)源內(nèi)的資源發(fā)起訪問(wèn), 但是不同源之間進(jìn)行Ajax就會(huì)有問(wèn)題.簡(jiǎn)單來(lái)說(shuō)就是,前臺(tái)頁(yè)面ajax獲取數(shù)據(jù)的地址和前臺(tái)頁(yè)面地址不是同一個(gè)站點(diǎn),或者不是同一個(gè)訪問(wèn)地址。

如果直接使用ajax訪問(wèn),會(huì)有以下錯(cuò)誤:

ajax跨域.png

最簡(jiǎn)單的解決方式就是在ajax訪問(wèn)文件的頭部添加header標(biāo)簽來(lái)允許網(wǎng)站訪問(wèn),允許固定的域名訪問(wèn)

   header('Access-Control-Allow-Origin:http://www.cnwenhui.com');

上面的代碼是允許該網(wǎng)址進(jìn)行請(qǐng)求。也可以添加多個(gè)網(wǎng)址,允許多個(gè)域名訪問(wèn),添加方法略有不同,傳入數(shù)組

   $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);        
   }

如果是不考慮安全方面的問(wèn)題,則直接允許所有網(wǎng)址訪問(wèn)就可以

   header('Access-Control-Allow-Origin:*');

一般我在項(xiàng)目中使用最后一種較多,在不涉及隱私和金錢方面或者需要安全性較高的接口,一般允許所有訪問(wèn)。

返回列表