跨域的问题
get:一般是获取数据:在页面中输入的时候提交后直接返回
post:一般是发送数据:form表单中用于提交注册暗纹的
1什么是跨域?
不同域名之间进行数据的访问。会造成跨域问题,导致的结果就是拿不到数据
如何区分是否跨域了?
协议,端口号,主机地址,是否一样,不同源就属于跨域
2.如何解决跨域问题?
2.1是谁造成的跨域?
是浏览器造成的跨域,其实数据已经到了浏览器中,,只不过浏览器没有把数据给你。
2.2为什要有跨域?
出于安全考虑。默认情况下不允许外界的浏览器向本网站中注入数据)
3.如何解决跨域?
使用jsonp jsonp是一种解决方案
4.jsonp是ajax码?
jsonp 是解决跨域的一种方案,ajax是js异步请求的一种技术(借助xhr对象)
5。说以下jsonp解决跨域的原理?(必须是前后端配合,如果后端不接受参数,也没法运行)
先了解浏览器解析js的机制。
如果服务器返回的是js代码,会立马执行该内容。
src:来请求数据是不存在跨域的的问题的
(1.在本地中定义一个方法fn
2.定义<script src='myPhpFile.php?callbask=gxq> 在发送请求的时候,把函数的名称传递给服务器
3.要在服务器当中接受传递的参数, $fn = $_GET['callback'].
4.服务echo 方法名称+(参数)。
function gxq(arg){
alert('服务的内容------‘+arg);
}
<script src ='script src='myPhpFile.php?callbask=gxq></script>
6.angular的跨域!
方法1
先注入¥http服务
¥http({
url:’‘
method:'jsonp';
params:{
callback:'JSON -CALLBACK'///固定写法
}
})
方法2:
桥接:
在服务器上用url导入数据
$url = ''http://api.douban......
echo file_get_content($url);
然后服务器把请求的数据返回给angular