PHP下實現兩種ajax跨域的解決方案之jsonp

2022-09-09 07:24:10 字數 1272 閱讀 1265

h5開發中使用ajax呼叫資料介面, 如果介面檔案不在同網域名稱下會提示跨域錯誤(no 'access-control-allow-origin' header is present on the requested resource.)。

1.相容ie瀏覽器的方法,在ajax請求的時候使用jsonp:

$("#search").click(function()  else 

},error : function(jqxhr)

})});

然後在php接收和返回的時候也帶上jsonp的資料:

function search() ';

return ;

}global $staff;

$number = $_get["number"];

$result = $jsonp.'()';

foreach ($staff as $key => $value) )';

break;}}

echo $result;

}

2.只提供給支援html5的瀏覽器使用,只需要在php的頭部加上如下這兩句話即可:

例如:客戶端的網域名稱是client.runoob.com,而請求的網域名稱是server.runoob.com。

如果直接使用ajax訪問,會有以下錯誤:

指定某網域名稱()跨域訪問,則只需在檔案頭部新增如下**:

header('access-control-allow-origin:');

指定多個網域名稱(等)跨域訪問,則只需在檔案頭部新增如下**:
$origin =isset($_server['http_origin'])?$_server['http_origin']:'';$allow_origin =array('','');if(in_array($origin,$allow_origin))

允許所有網域名稱訪問則只需在檔案頭部新增如下**:

//處理跨域

header("access-control-allow-origin:*"); //*號表示所有網域名稱都可以訪問

header("access-control-allow-method:post,get");

PHP下實現兩種ajax跨域的解決方案之jsonp

h5開發中使用ajax呼叫資料介面,如果介面檔案不在同網域名稱下會提示跨域錯誤 no access control allow origin header is present on the requested resource.1.相容ie瀏覽器的方法,在ajax請求的時候使用jsonp sear...

Ajax跨域問題的兩種解決方法

瀏覽器不允許ajax跨站請求,所以存在ajax跨域問題,目前主要有兩種辦法解決。1 在請求頁面上使用access control allow origin標頭。header access control allow origin header access control allow origin ...

兩種簡單的跨域方法

ajax不能跨域,比如您是www.baidu.com 您就不能請求 www.163.com 的檔案。但您可以請求 這是因為安全原因,對於任何後台語言來說 伺服器程式來說,所有的xhr 型別的請求,如果來自其他的伺服器,將不予應答。一 使用jsonp jsonp就像是json padding一樣 pa...