【发布时间】:2016-11-13 15:45:00
【问题描述】:
我正在尝试将 XAMPP 与以下 sn-ps 一起使用:
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。 JSON 要求引用所有键。例如
"timezone",不是timezone -
@Marc JSON 对象没问题;在我的帖子中,它缺少引号,因为我从浏览器中复制粘贴了一些值,我使用 JSONview 查看对象。正如下面的回复所发现的,问题是我的 XAMPP 需要 CA 来处理对 SSL 的请求。
标签: javascript php json xampp