對于端口和協議的不同,我們只能通過后臺來解決,我們解決的是域名不同的問題;
我們通過JSONP數據類型來解決跨越的問題;
JSONP有兩部分:回調函數和數據。回調數據就是當響應到來時應該在頁面中調用的函數,數據就是傳入回調函數的json數據
<script type = "text/javascript">
function dosomething(jsondata){
//處理獲取的數據
}
<script>
<script src = "傳入引用的js文件的地址?callblack = dosomething"><script>
第一個script標簽定義一個處理數據的函數
第二個script標簽載入一個js文件;
最后js文件載入成功后會執行我們在url參數中指定的函數,并且會把我們需要的json數據作為參數傳入PHP文件
<?php
$callblack = $_GET['callblack'];//得到回調函數名
$data = array('a','b','c');//要返回的數據
echo $callblack.'('.json_encode($data).')';//輸出
?>
Ajax跨域問題的解決辦法
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。