日日摸夜夜添夜夜添aa,亚洲一区二区在线视频,国产精品入口在线看麻豆,久久久久久久99精品免费观看

【前端面試】JS如何實現跨域

程序猿 2021-03-31 19:56:02 2062瀏覽 加載中

對于端口和協議的不同,只能通過后臺來解決。我們要解決的是域名不同的問題。

1,下面是用php進行的設置,“*” 號表示允許任何域向我們的服務端提交請求,header({Access-Control-Allow-Origin: *)

2,JSONP(ISON with Padding填充式JSON或參數式JSON)

在js中,我們雖然不能直接用XML HttpRequest請求不同域上的數據,但是在頁面上引入不同域上的js腳本文件卻是可以的,jsonp正是利用這個特性來實現的。JSONP由兩部分組成:回調函數和數據。回調函數是當響應到來時應該在頁面中調用的函數,而數據就是傳入回調函數中的JSON數據。

<script type="text/javascript" >
    function dosomething(jsondata){
        //處理獲得的json數據
    }
</script>
<script src ="http://example . com/ data. php?callback=dosomething" ></script>

首先第一個script標簽定義了一個處理數據的函數:

然后第二個script標簽載入-個js 文件,http: //example.com/data.php 是數據所在地址,但是因為是當做js來引入的,所以http: //example.com/data php返回的必須是一個能執行的js文件;

最后js文件載入成功后會執行我們在url參數中指定的函數,并且會把我們需要的json數據作為參數傳入。所以php應該是這樣的:

<?php
    $callback = $_ GET['callback”];//得到回調函數名
    $data = array('a', 'b','c" );//要返回的數據
    echo $callback. "('.json encode($data).")";//輸出
?>


最后修改:2025-04-25 18:44:08

非特殊說明,本博所有文章均為博主原創。