- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试将 XAMPP 与以下代码片段一起使用:
PHP:
<?php
$api_endpoint = 'https://api.forecast.io/forecast';
$api_key = 'my-api-key';
$url = $api_endpoint . '/' . $api_key . '/' . '37.8267,-122.423';
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$curl_response = curl_exec($curl);
curl_close($curl);
echo json_encode($curl_response);
?>
JSON 本身如下所示:
{
latitude: 37.8267,
longitude: -122.423,
timezone: "America/Los_Angeles",
offset: -7,
currently: {
time: 1468248192,
summary: "Clear",
icon: "clear-day"
}
}
JavaScript:
$(document).ready(function(){
$('#myButton').click(function(e){
e.preventDefault();
$('#myButton').fadeOut(300);
$.ajax({
url: 'php/forecast.php',
type: 'GET',
dataType: 'json',
success: function(data, status) {
$('#content').html(data.latitude);
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
});
});
});
我在实时服务器上工作得很好,但是当使用 XAMPP 时,我不断收到错误JSON 输入意外结束。有人在使用 XAMPP 之前遇到过这个问题吗?有什么想法可能导致这种情况吗?
最佳答案
您的代码很好,并且 json 格式也没有问题(如果您的代码在真实的 Web 服务器中工作,则没有理由认为 json 是错误的)。首先,您不需要执行 json_encode
因为您知道您将从 Forecast.io 服务器获得 json 响应。并且您的 ajax 已包含 dataType: 'json'
。
这里的主要问题是您正在调用通过 SSL ( https://api.forecast.io ) 提供的端点,因此本地 XAMPP 中的 php 服务器需要使用 CA(证书颁发机构)来确保通信有效。
一般来说,XAMPP 不会免费为您提供此功能。因此,从 http://curl.haxx.se/docs/caextract.html 下载最新的 CA pem 文件并将其保存在C:\xampp\php\cacert.pem
中;然后编辑C:\xampp\php\php.ini
并查找curl.cainfo
,取消注释并添加=C:\xampp\php\cacert。 pem
具有 curl.cainfo = C:\xampp\php\cacert.pem
。
保存文件并重新启动本地 Apache 服务器。就够了。
进一步说明,为了调试您的 php 代码,您可能会考虑回显最终的错误。因此,在您的 php 代码中添加如下内容:
$curl_response = curl_exec($curl);
if(curl_error($curl)) {
echo 'error:' . curl_error($curl);
}
curl_close($curl);
echo ($curl_response);
并确保您可以在 ajax 中捕获错误字符串。
关于javascript - XAMPP 返回错误 "Unexpected end of JSON input",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38311273/
我卸载了 xampp 并在 Windows 上安装了最新版本的 5.4 php。当我尝试安装新版本的 php 时,C://xampp 中的旧文件夹将被删除。我从该文件夹中删除了除 memcached
在全新安装的 Windows 7 和 Xampp 上,我无法访问 localhost .它只是说找不到,即使 Apache 和 MySQL 运行得很好。到目前为止我尝试过的: 检查 hosts此行的文
我最近没有在我的 xampp 中进行任何更改,直到昨天它都在正常工作。 但是现在我得到了这个错误: Object not found! The requested URL was not found
我最近没有在我的 xampp 中进行任何更改,直到昨天它都在正常工作。 但是现在我得到了这个错误: Object not found! The requested URL was not found
我在笔记本电脑上安装了Xampp 3.2.1版,之前MySQL在它上面运行得很好,但突然MySQL停止运行,而阿帕奇和其他公司都在运行。当我点击开始MySQL时,它显示这个错误我使用Windows 1
我希望在小型办公室内使用 xampp 设置服务器。我当然会保护 xampp,但为了让网络上的其他 4 台 PC 可以使用我的 web 应用程序,我是否只需创建一个虚拟主机?有没有办法确保只能在局域网上
我希望能够在 c:\xampp-scope 之外使用别名,如 alias /opt "C:\opt" 在 xampp 中有一些设置我无法确定,尝试更改用户,添加等,但这些设置都不起作用,它是一个纯粹的
我正在使用 XAMPP,Apache 2.2.17。我添加了虚拟主机,但我的虚拟主机和 localhost 都指向同一个位置。这是我在 httpd-vhosts.conf 中的代码 ServerNa
试图编辑 xampp 图标,但不能这样做,所以删除了它们。现在我的网页甚至没有 xampp 图标,我无法添加自己的图标。有人可以指导我完成真正有效的整个过程。如果不能,那么就教我如何在我的网站即将托管
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
当我尝试启动 XAMPP - MySql 时它不起作用。 我已经尝试修复它,但我找不到任何实际的解决方案,我希望你能找到它的问题所在。 有日志: 2019-06-26 9:08:35 0 [Note
出于某种原因,我需要同时运行两个 xampp 副本。我在互联网上阅读了很多教程,但如果我需要运行另一个,他们最终会告诉我关闭当前的 xampp。这有可能实现吗? 最佳答案 您可以使用不同的端口同时运行
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
如何在 XAMPP 中启用目录和文件列表?在 WAMP 中,它默认启用。 最佳答案 我的 Xampp httpd.conf 在 xampp 目录条目下已经有 Indexes 选项 删除所有默认的#co
我在 xampp 服务器上安装了 Moodle。它安装正确。但是当我尝试注销或任何其他事件时,Firefox 显示错误,页面没有正确重定向。我清除了浏览器的 cookie,但没有用。我重新安装了 Mo
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我目前有 4 个网站使用 XAMPP 在我的家用台式电脑上运行。它们在端口 80、81、7733 和 25293 上运行。 从外部网络访问时,前三个运行良好,但最后一个 (25293) 无法加载。 (
我的 XAMPP 最新版本有问题,这是我第一次使用它,我一直使用 EasyPHP。 在我站点的“include”目录中有一个名为“header.php”的文件,当我从本地主机浏览该文件夹时,如果我直接
我已经安装了 xampp,默认情况下我的网站文件存储在 htdocs 中。如何更改网络目录路径? 最佳答案 编辑文件/opt/lampp/etc/httpd.conf 并更改包含当前 Web 目录路径
我只用 Apache 和 PHP 安装了 XAMPP,现在我意识到我还需要 MySQL。我下载了 XAMPP 安装程序并运行它,但它不会安装在 C:\xampp 中因为它已经存在。 如何将 MySQL
我是一名优秀的程序员,十分优秀!