通过HTTP GET传递多个参数

时间:2014-05-11 19:20:48

标签: javascript php json http

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

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

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

2 个答案:

答案 0 :(得分: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

希望这有帮助!

答案 1 :(得分:0)

您可以通过PHP中的$_GET超全局访问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函数。