【问题标题】:Passing multiple arguments through HTTP GET通过 HTTP GET 传递多个参数
【发布时间】:2014-05-11 19:20:47
【问题描述】:

我有一个引用 PHP 脚本的 HTML 文件来执行各种功能。 HTML 文件调用 PHP 脚本的一种方式是通过 HTTP GET。 GET 请求应传递三个参数并以 JSON 编码响应的形式返回所有已保存事件的列表。

到目前为止,我有以下内容,但我不确定如何通过 HTTP GET 传递三个参数。另外,我不确定我是否正确返回了 JSON 编码的响应:

  if($_SERVER['REQUEST_METHOD'] == 'GET'){
        echo json_encode(events.json); }

【问题讨论】:

  • 你是说事件?
  • events.json 是 php 中的两个连接常量。

标签: javascript php json http


【解决方案1】:

GET 请求是通过 URL 完成的……所以如果你想传递三个 GET 请求,你应该这样做……

http://www.domain.com/target.php?param1=whatever&param2=whatever&param3=whatever

target.php 表示您要将信息发送到的 PHP 脚本文件。您可以拥有任意数量的变量,但请记住,所有其他 GET 请求都必须用 & 符号分隔。第一个参数必须以 ? 符号开头。

如果你想使用 Javascript,我会推荐使用 JQuery。你可以这样做

$.get('target.php?param1='+whatever+'&param2='+whatever2, function(data) {
    alert(data);
});

或者您可以使用window.location 发送带有上述相应链接的链接。

如果您想专门使用 AJAX,这里有一种使用 JQuery 的方法(如果需要,我可以稍后更新一些使用 Javascript 的方法:

 $.ajax({
  type: "GET",
  url: "http://www.domain.com/target.php",
  data: { param1 : "whatever", param2 : "whatever", param3 : "whatever" }, 
  success: function(result){
       //do something with result
       }
  })

如果您想访问变量,您可以调用$_GET['param1']$_REQUEST['param1'] 以在PHP 中访问它们。只需将括号中的名称更改为所需的变量并将其存储在变量中即可。

如果您想使用 Javascript 访问参数...那么最有效的方法是对使用的 URL 进行解码并将它们提取出来。见here

希望这会有所帮助!

【讨论】:

  • 感谢您提供更多信息。虽然我目前不需要通过 Javascript 访问变量,但我将来可能需要。
【解决方案2】:

您可以通过 PHP 中的$_GET 超全局从 URL 访问参数。

例如,如果您的 URL 是 http://example.com/test.php?param1=foo&param2=bar,那么您可以像这样在 PHP 中访问它们:

 $param1 = $_GET['param1'];
 $param2 = $_GET['param2'];

更多详情请见http://www.php.net/manual/en/reserved.variables.get.php

至于返回有效的 JSON 响应,您可以查看this answer。它使用 PHP 的 header 函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    相关资源
    最近更新 更多