请求数据

看了一些相关的视频后,想自己尝试着用angular.js 请求数据,自己写了一个简单的前台请求数据,后台php返回数据的代码。

前台的代码是这样的:

clipboard.png

向data.php发送一个get请求,成功则打印数据,失败则打印失败.

data.php:
clipboard.png

简单的代码,执行时却出错了

clipboard.png

去搜了一下,是因为不允许跨域请求数据,需要在被请求的文件上添加跨域许可
在data.php 的头部添加了 header("Access-Control-Allow-Origin: *"); 表示允许所有跨域请求,数据就成功请求到了

clipboard.png

去网上看时,还有一种跨域的方式,叫jsonp,他是根据用<script></script>标签来请求数据,用<script></script>标签不会受到浏览器的限制

clipboard.png

先定义一个回调函数,用来把请求的数据打印
请求的data2.php是这样写的:

clipboard.png

在浏览器请求这个数据后,他会把callBack("phpData")加载进来,就会调用前面定义的函数

clipboard.png

但是在以前用后台做数据请求时,并没有遇到跨域的问题.
把实例1的允许跨域的头删掉,出现报错:

clipboard.png

但是查看网络的资源请求,发现数据确实是获取到了

clipboard.png
说明服务器接受到了请求并也返回数据了,那为什么还会出错?

去搜了一下,这是浏览器的同源策略,他的目的是为了保证用户信息的安全,防止恶意的网站窃取数据。所以跨域只在浏览器才会有的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值