欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php jsonp header

馮子軒1年前6瀏覽0評論
JSONP (JSON with Padding)是一種解決跨域請求的方法,常見于前端頁面通過瀏覽器請求后端API接口數據時使用。當頁面A向不同域名或者協議的頁面B發送Ajax請求時,因為瀏覽器的安全機制,請求會被限制,但是JSONP可以繞過這些限制,呈現出相應的數據。在php中,header就是實現JSONP的重要一環。 下面以一個實際的栗子來闡述php jsonp header的用法: 前端頁面代碼: ``` //前端頁面向不同域名或協議的頁面發送Ajax請求 $.ajax({ url: 'https://example.com/getData.php', dataType: 'jsonp', jsonp: 'callback', jsonpCallback: 'handleData', data:{ page: 1, count: 10 } }); ``` 后端代碼 getData.php: ``` $page = $_GET['page']; $count = $_GET['count']; $data = array( 'code' =>0, 'message' =>'success', 'data' =>array( array('id'=>1,'name'=>'Tom','age'=>18), array('id'=>2,'name'=>'Jerry','age'=>22) ) ); $data = json_encode($data); //設置跨域響應頭 header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Methods: POST, GET, OPTIONS'); header('Access-Control-Allow-Headers: X-Requested-With,X_Requested_With, Content-Type, Accept'); header('Content-type: application/javascript'); echo $_GET['callback'].'('. $data .')'; //輸出JSONP格式的數據 ``` 前端頁面代碼中的dataType設置為jsonp,同時指定了jsonp和jsonpCallback參數的值,即后端返回的數據類型及回調函數的名稱。在后端代碼中,先解析前端發送過來的數據,然后構造一個JSON數據并以JSONP的方式返回。注意要設置跨域響應頭,否則前端會立即收到一個CORS錯誤。 header中的Access-Control-Allow-Origin字段表示允許的跨域請求的來源,通常為*,表示接收任意域名請求;Access-Control-Allow-Methods字段指定了支持的跨域請求方法;Access-Control-Allow-Headers字段指定了支持的跨域請求所攜帶的數據類型,如Content-Type、Accept等。最后Content-type字段指定了返回的數據類型為application/javascript。 總結一下,php中使用header設置跨域響應頭是實現JSONP的重要一環,而JSONP的使用能夠繞過瀏覽器同源策略的限制,以更自由安全的方式進行跨域請求。