jsonp跨域读取cookie
https://blog.csdn.net/pangudashu/article/details/19078535
1、javascript標簽不受跨域影響
2、插入另外域的js代碼代碼即是jsonp,此js代碼返回另外域的json數據
3、此json數據可以包含另外域的cookie
4、調用另外域的js代碼,傳入callback函數參數,讓另外域將數據包裝至此callback函數
5、callback函數在本域執行
?
a網站讀取b網站的cookie
------a? 網站-------
jsonp.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
? ? <title></title>
? ? <script type="text/javascript">
? ? var localHandler = function(data){
? ? ? ? alert('我是本地函數,可以被跨域的getcookie.php文件調用,遠程js帶來的數據是:' +JSON.stringify(data) );
? ? };
? ? </script>
? ? <script type="text/javascript" src="http://localhost:8081/getcookie.php?callback=localHandler"></script>
</head>
<body>
</body>
</html>
?
-----b 網站 -------
getcookie.php
<?php
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Methods:POST,GET");
$callback = $_GET['callback'];
$cookie = json_encode($_COOKIE);
echo $callback."(".$cookie.")";
?>
?
--------------------------------------------------------------------
返回結果
先用執行以下代碼設置一下:
http://localhost:8081/setcookie.php
<?php
setcookie("user", "runoob", time()+3600);
?>
最后執行以下代碼
file:///C:/dev/html-test/jsonp.html
返回結果:
我是本地函數,可以被跨域的getcookie.php文件調用,遠程js帶來的數據是:{"user":"runoob"}
?
?
備注:1、執行http://localhost:8081/setcookie.php和file:///C:/dev/html-test/jsonp.html必須同一瀏覽器
?
?
總結
以上是生活随笔為你收集整理的jsonp跨域读取cookie的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fiddler对手机抓包
- 下一篇: NPAPI和PPAPI开发