小练习:
首先我们要在HTML页面创建一个input标签
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="button" name="btn" id="btn" value="点击获取资源" />
</body>
<script type="text/javascript">
/*
前端通过AJAX请求服务器,需要注意是否跨域,并且要知道怎么解决跨域
问题;
域名:每个公司的服务器都要关联一个域名(三级域名,二级域名,一级域名)
oa(三级).lanou3g(二级).com(顶级)
同源策略:js 规定,协议,域名,端口号一致,即为同源,可以相互访问对应内容,及后面的路径不同也是同源
为什么要有同源策略?
防止黑客恶意攻击
实现跨域的方式"
JSONP 协议(json with padding)运用于 客户端和服务器交互的情况您需要前后台人员的合作
* 原理: 虽然 JS 同源策略, 但是标签没有
s实现步骤:
1,创建script 标签
2,script的SRC写上要访问的文件路径,并且拼接上回调函数的名字(并且确保函数已存在)
3:把script标签添加到body中
4,domain.name(针对父子之间的切换场景)
*/
//获取点击事件
var oneBtn = document.getElementById(“btn”);
oneBtn.onclick = function(){
//jsonp实现跨越
var oneScript = document.createElement(“script”);
oneScript.src = http://127.0.0.1/php0706/AJAX02/01跨域.php?backFun=successFun";
document.body.appendChild(oneScript);
document.body.removeChild(oneScript);
}
//回调函数,跨域成功后调用
function successFun(data){
console.log(data);
}
PHP文件代码如下:
<?
$fun = $_GET["backFun"];
echo "{$fun}('用户信息')'';
?>