文档介绍:同源策略和跨域解决方案
 
   
 
 
 
 
 
 
 
     
 
 
 
 
 
同源策略
一个源的定义
如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源。meta name="viewport" content="width=device-width, initial-scale=1">
<title>xyz</title>
</head>
<body>
<button id="b1">点我</button>
<script src=".1/"></script>
<script src=":8002/abc/"></script>
</body>
</html>
现在,我们刷新一下页面,会出现如下错误提示:
看来后端返回的响应已经被拿到了,只不过把rion当成了一个变量来使用,但是该页面上却没有定义一个名为rion的变量。所以出错了。
那我定义一个rion变量还不行吗?
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>xyz</title>
</head>
<body>
<button id="b1">点我</button>
<script src=".1/"></script>
<script>
var rion = 100;
</script>
<script src=":8002/abc/"></script>
</body>
</html>
这次就不会报错了。
我定义一个变量可以,那可不可以定义一个函数呢?
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>xyz</title>
</head>
<body>
<button id="b1">点我</button>
<script src=".1/"></script>
<script>
function rion() {
("选我不后悔!");
}
</script>
<script src=":8002/abc/"></script>
</body>
</html>
同时把返回的响应也改一下:
def abc(request):
return HttpResponse("rion()")
此时,再次刷新页面,可以看到下面的结果。
啊,真是让人性兴奋的操作!
我返回的 rion(),页面上拿到这个响应之后直接执行了rion函数!
那函数中可不可以传递参数呢?我们试一下!
 
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>xyz</title>
</head>
<body>
<button id="b1">点我</button>
<script src=".1/"></script>
<script>
function rion(re