php抓取网页json数据(做web开发的小伙伴儿们请求的问题,解决该问题的方法)
优采云 发布时间: 2022-02-04 16:03php抓取网页json数据(做web开发的小伙伴儿们请求的问题,解决该问题的方法)
做web开发的朋友一定经常会遇到javascript跨域请求的问题。有很多方法可以解决这个问题。今天我们将介绍最常用的jsonp方法。
我们先介绍一下什么是跨域请求。
说到跨域请求,就不得不说浏览器的同源策略了。如果网页所在的服务器与网页请求的服务器使用相同的协议、端口和主机,则属于同源,否则属于不同的源。来自不同来源的 JavaScript 请求是跨域请求,浏览器会阻止此类请求。当然,浏览器这样做是出于安全原因,但这使得我们无法跨域请求数据。
我们来看一个跨域请求的例子。
发起请求的网页代码:
发起请求的网页代码
服务器端 jsonp.php 代码:
服务器端 jsonp.php 代码
打开网页如下:
跨域请求的网页
从上面的例子可以看出,跨域请求被浏览器拦截了。接下来,我们将使用jsonp来解决javascript的跨域请求问题。
jsonp解决跨域请求的流程:
在网页上定义一个回调函数,然后将回调函数的名字传给服务器;
服务端获取数据并组装json字符串
服务器端输出一段javascript代码执行页面的回调函数,并将组装好的json字符串作为参数传递给回调函数
网页接收服务器返回的javascript代码段并执行