【发布时间】:2015-03-07 12:27:53
【问题描述】:
这是我在这里的第一篇文章,所以提前感谢您的帮助。
我有一段 PHP 代码用于获取机场 METAR 并显示它。 'metar.php' 代码如下:
<?php
$location = "EGLL";
get_metar($location);
function get_metar($location) {
$fileName = "http://weather.noaa.gov/pub/data/observations/metar/stations/$location.TXT";
$metar = '';
$fileData = @file($fileName) or die('METAR not available');
if ($fileData != false) {
list($i, $date) = each($fileData);
$utc = strtotime(trim($date));
$time = date("D, F jS Y g:i A",$utc);
while (list($i, $line) = each($fileData)) {
$metar .= ' ' . trim($line);
}
$metar = trim(str_replace(' ', ' ', $metar));
}
echo "<div style=\"color: white;\">METAR FOR $location (Issued: $time UTC):<br>$metar</div>";
}
?>
目前,我的网站首页上有一些按钮在单击按钮时会重定向到 website.com/metar.php。代码如下:
<li><button type="submit" style="height: 40px;" class="btn btn-primary" onclick="window.location.href = '/heathrow.php'"/>METAR At London Heathrow</button></li>
如果有人能告诉我如何更改此代码,以便在单击按钮时将按钮替换为 metar.php 的输出,而不是在按钮时重定向到 website.com/metar.php,我将不胜感激被点击。
我希望这是有道理的
再次非常感谢您!
【问题讨论】:
-
欢迎来到 SO !请阅读How to ask 页面。您会注意到您应该向我们展示您尝试过的东西,而目前情况并非如此。由于有时甚至很难知道从哪里开始,这里有一些提示:您需要使用 javascript 来做到这一点。更具体地说,要请求页面,您将需要使用 AJAX。也就是说,您似乎也拥有该 meta.php 页面,因此您不妨在首页上获取此数据服务器端,将其放置在 HTML 中的某个位置但将其隐藏,并在单击按钮时显示它。
-
对不起。正如我所说,这是我在网站上的第一个问题。您介意发布一个答案以显示我如何能够隐藏它并在单击按钮时显示它吗?再次感谢。
-
您可以执行 AJAX 请求以完成此操作。无论如何,由于 PHP 是一种服务器端语言,如果不刷新页面(使用 PHP),您实际上无法编辑 HTML。但是,您可以通过使用 javascript 来完成此操作,并且为了更简单的用法,我会使用 jQuery 来处理这种情况,以极大地简化整个代码。请查看api.jquery.com/jquery.ajax 的示例并配置您当前的索引以对您的metar.php 脚本执行AJAX 请求,此时应该返回一个值。
-
没什么大不了的,我们都必须从某个地方开始,但是是的,我介意发布代码,因为这是您可以在互联网上很容易找到的东西,如果您使用的是 javascript 框架(jQuery for示例)或纯 javascript。在这两种情况下,我们都在讨论 1 行代码。
-
这行得通吗?
<script type="text/javascript" src="./jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $('#container-id-to-load-into').load('metar.php); }); </script>