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!

相关文章
|
2月前
|
设计模式 数据库连接 PHP
PHP中的设计模式:提升代码的可维护性与扩展性在软件开发过程中,设计模式是开发者们经常用到的工具之一。它们提供了经过验证的解决方案,可以帮助我们解决常见的软件设计问题。本文将介绍PHP中常用的设计模式,以及如何利用这些模式来提高代码的可维护性和扩展性。我们将从基础的设计模式入手,逐步深入到更复杂的应用场景。通过实际案例分析,读者可以更好地理解如何在PHP开发中应用这些设计模式,从而写出更加高效、灵活和易于维护的代码。
本文探讨了PHP中常用的设计模式及其在实际项目中的应用。内容涵盖设计模式的基本概念、分类和具体使用场景,重点介绍了单例模式、工厂模式和观察者模式等常见模式。通过具体的代码示例,展示了如何在PHP项目中有效利用设计模式来提升代码的可维护性和扩展性。文章还讨论了设计模式的选择原则和注意事项,帮助开发者在不同情境下做出最佳决策。
|
2月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
11天前
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
20 5
|
2月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
1月前
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
43 1
|
1月前
|
云安全 存储 小程序
PHP微信小程序解决方案PhpMall
PHP微信小程序解决方案PhpMall
40 0
|
1月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
32 0
|
2月前
|
XML SQL PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
PHP 开发工具
微信公众平台开发接口PHP SDK完整版
原文:微信公众平台开发接口PHP SDK完整版 官方提供的SDK只有一个文本消息功能,我们将所有消息的消息类型及事件响应都整理了进来,并且加入日志记录,代码如下:   更新日志: 2013-01-01 版本1.
1108 0
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!