- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一段非常短的 PHP 代码,用来从 JavaScript 发出 HTTP 请求。
<?php echo file_get_contents($_GET['url']); ?>
我已在几个项目中成功使用它,但在当前项目中发出请求时遇到了问题。根据我的搜索,我认为这可能是由于请求中的下划线引起的,尽管通过我的搜索并且不了解PHP,我无法确认这一点。
下面是我使用 JavaScript 所做的示例:
$.get("grabber.php?url=" + "http://tidesandcurrents.noaa.gov/api/datagetter?station=8573364&begin_date=20160202&end_date=20160203&product=predictions&units=english&time_zone=gmt&format=json&application=poseidonweathercom+&datum=MLLW", function(forecast) {
console.log(forecast);
});
如果我复制 URL 并将其放入浏览器中,我会得到我请求的 JSON。当我使用上面的代码时,我最终收到来自 NOAA 的错误消息:
Wrong Product : Product cannot be null or empty Wrong Time zone: Time zone cannot be null or empty Wrong Unit:Unit cannot be null or empty Wrong Format: Format cannot be null or empty Wrong Date: The beginDate cannot be null or empty
我需要在 PHP 中使用正则表达式来表示下划线吗?还有其他问题我不明白吗?
谢谢。
最佳答案
您需要将其编码发送,这将转换所有下划线/空格/与符号等及其编码等效项:
var url = "http://tidesandcurrents.noaa.gov/api/datagetter?station=8573364&begin_date=20160202&end_date=20160203&product=predictions&units=english&time_zone=gmt&format=json&application=poseidonweathercom+&datum=MLLW";
$.get("grabber.php?url=" + encodeURIComponent(url), function(forecast){
console.log(forecast);
}
在该 URL 上使用 encodeURIComponent()
显示:
http%3A%2F%2Ftidesandcurrents.noaa.gov%2Fapi%2Fdatagetter%3Fstation%3D8573364%26begin_date%3D20160202%26end_date%3D20160203%26product%3Dpredictions%26units%3Denglish%26time_zone%3Dgmt%26format%3Djson%26application%3Dposeidonweathercom%2B%26datum%3DMLLW
<小时/>
或者,如果您只想访问 JSON 数据并在 JavaScript 函数中处理它,您可以直接通过 URL 检索数据,而无需对 URL 进行编码:
$.get("http://tidesandcurrents.noaa.gov/api/datagetter?station=8573364&begin_date=20160202&end_date=20160203&product=predictions&units=english&time_zone=gmt&format=json&application=poseidonweathercom+&datum=MLLW", function(forecast) {
console.log(forecast);
});
关于javascript - PHP $_GET 和下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35159259/
PHP 内置了 _get 和 _set 函数。是为每个变量编写自己的 get 和 set 函数更好,还是使用带有大量 if else if 的内置函数?每种方法的优缺点是什么? 最佳答案 __get
这个问题可能看起来很相似,但请理解我的问题。在我的更新页面中,我对 $_GET 方法感到困惑。在我的第一页中,我提供了一个像这样编辑表格的链接 index.php "; e
我最近被安排做一个需要一些PHP的项目,我对PHP了解不多。站点中有几个实例,单击按钮后,用户会被重定向到带有一些 URL 参数的另一个页面。然后下一页使用 $_GET 获取这些参数并继续。 代码中的
我想要一些奇怪的东西。如果有人打开 index.php 页面,$select 必须是 full,。但如果有人打开 index.php?var=4 page,$select 必须是 other,带有 v
假设我有一个类似于 www.mysite.com/index.php?login=0 的 URL。是否可以切换大小写 $_GET 的变量和切换大小写 $_GET 的变量值? 类似于: switch (
我希望扩展我的 PHP 知识,但我遇到了一些我不确定它是什么或什至不知道如何搜索它的东西。我正在查看 php.net isset 代码,我看到了 isset($_GET['something']) ?
为了在 PHP 中读取未知变量,我经常使用如下代码: $bar = isset($_GET['foo']['bar']) ? $_GET['foo']['bar'] : NULL; 我不喜欢把变量名写
这个问题已经有答案了: How can I prevent SQL injection in PHP? (27 个回答) 已关闭 7 年前。 我在数据库中有一个(主题)和(页面)表。 page TAB
我正在尝试制作一个类似的搜索引擎,对于我的网站来说很简单。这是我正在使用的代码: $sql = mysql_query("SELECT * FROM books WHERE tags LIKE '
您好,我正在编写个人资料页面脚本,在此脚本中,我检查传入的 $_GET 变量的值并验证它是一个整数,然后我根据 $_SESSION 值验证此值以确认他们只能访问自己的帐户.代码如下所示: // val
我在这里检查了所有可能的解决方案,不幸的是它不起作用。我的代码似乎有什么问题? 我尝试了以下方法。 url解码 ( http://php.net/manual/en/function.urldecod
我有一个 test.php 并且我有下面的代码 我在下面列出了 url,然后显示了所需的输出 Test 1 : http://localhost/example/test.php output :
我有以下登录脚本,我确实在其中使用了 session 。 query("SELECT * FROM table WHERE x1='".$x1."' AND x2='".$x2."'");
实际上这是我的代码: echo ""; // get current vars $p1 = isset($_GET['p1']) ? trim($_GET['p1']) : false; $p2 =
我正在 Adobe Dreamweaver 中编写 PHP 代码。我的代码如下所示。我期待我的代码输出两个框,我在其中写了一些东西。当我单击提交按钮时,我希望看到我在框中输入的两个单独的内容被连接
我假设 $_GET 变量被解释为单引号字符串(而不是双引号字符串)。 我相信这是真的,因为以下测试(我自己尝试进行目录遍历攻击): $file = "../test.php"; /** * same
我有一个 test.php 并且我有下面的代码 我在下面列出了 url,然后显示了所需的输出 Test 1 : http://localhost/example/test.php output :
我需要使用 get 函数从 url 中检索 $title 变量。 $title=$_GET["title"]; $title 稍后在 MySQL 查询中使用。 问题是如何保证安全?换句话说,如何消除通
我不明白为什么有人在代码中使用 @,我在 mysql 连接中看到过它,但我不知道它是什么意思..谢谢! $player_name_orig = @$_GET['player']; if (!$play
我要问两件事。 第一个问题是我这样做是否正确?我正在将一个链接与 javascript 变量放在一起 http://google.com/test.php?var="+class4 然后我使用 php
我是一名优秀的程序员,十分优秀!