php函数file_get_contents应对百度天气接口CORB跨域解决方案

简介: php函数file_get_contents应对百度天气接口CORB跨域解决方案

在调用百度天气接口时,出现如下CORB跨域错误提示

jquery.js:4 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://api.map.baidu.com/weather/v1/?district_id=330200&data_type=all&ak=F552bedbee2ec8fa6bae&callback=jQuery21401369341023950672_1587783673994&_=1587783673995 with MIME type application/javascript. See https://www.chromestatus.com/feature/5629709824032768 for more details.

历经jquery中ajax处理跨域中的处理方式$getJSON、jsonp都不得其法,后端又不变设置NGIX代理或设置header,思路如下:

所谓同源,简单的理解就是域名和访问协议必须完全相同,而调用第三方API,是客观上解决不了的。但是在自己的服务器上却是可以随时解决同源的问题?


基于此思路,豁然开朗:

一、新建weather.php文件,通过file_get_contents获取JSON字符串,并在文件中打印出来

header("Content-type:text/html;charset=utf-8");
//01.获取JSON数据;
$url  = "http://api.map.baidu.com/weather/v1/?district_id=330200&data_type=all&ak=F552bedbee2ec8fa6bae7b7";
$cont = file_get_contents($url);
echo $cont;

二、新建index.html,通过ajax获取weather.php:

    $(function () {
        var url = "weather.php";
        $.get(url, function (data) {
            var json = jQuery.parseJSON(data);
            console.log(typeof(json));
            console.log(json.result.location.city);
        })
    })


Done!

相关文章
|
27天前
|
PHP 开发者
PHP计算过去一定时间段内日期范围函数
这个函数为开发者提供了一个快速而简单的方法来获取与当前日期相关的过去时间范围,代码简洁易懂,可复用性高。
62 15
|
3月前
|
PHP 开发者 索引
探究PHP中常见数组操作函数
在编码实践中,合理利用这些数组操作函数可以简化编程工作,提升代码的效率和可读性。为达到最佳实践,开发者应该通过阅读官方文档来深入理解每个函数的工作原理以及如何在不同的场景下运用它们。
112 8
|
设计模式 数据库连接 PHP
PHP中的设计模式:提升代码的可维护性与扩展性在软件开发过程中,设计模式是开发者们经常用到的工具之一。它们提供了经过验证的解决方案,可以帮助我们解决常见的软件设计问题。本文将介绍PHP中常用的设计模式,以及如何利用这些模式来提高代码的可维护性和扩展性。我们将从基础的设计模式入手,逐步深入到更复杂的应用场景。通过实际案例分析,读者可以更好地理解如何在PHP开发中应用这些设计模式,从而写出更加高效、灵活和易于维护的代码。
本文探讨了PHP中常用的设计模式及其在实际项目中的应用。内容涵盖设计模式的基本概念、分类和具体使用场景,重点介绍了单例模式、工厂模式和观察者模式等常见模式。通过具体的代码示例,展示了如何在PHP项目中有效利用设计模式来提升代码的可维护性和扩展性。文章还讨论了设计模式的选择原则和注意事项,帮助开发者在不同情境下做出最佳决策。
|
7月前
|
PHP 数据库
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
|
11月前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
200 5
|
11月前
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
108 5
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
223 1
|
12月前
|
云安全 存储 小程序
PHP微信小程序解决方案PhpMall
PHP微信小程序解决方案PhpMall
179 0
|
12月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
144 0