如何在没有表单的情况下将数据从HTML传递到PHP?

如何在没有表单的情况下将数据从HTML传递到PHP?,php,html,forms,get,Php,Html,Forms,Get,我正在使用一个api,它需要特定的ID号来检索某些对象。现在,我有一个表单供用户手动输入ID,提交时会得到一个对象。但是我想要的是有指向所有ID的链接,这样用户就可以单击并选择要检索的对象。我不一定要尝试从用户单击中发出GET请求。我可以在后端发出GET请求,但我只需要一种方法来确定用户正在尝试选择哪个ID。我一直在寻找这样做的方法,但我还没有找到任何具体的我的困境。我读过关于隐藏表单或使用AJAX的文章,但没有更简单的解决方案吗? PHP服务器是否有办法检测单击哪个链接和ID将其存储在变量中

我正在使用一个api,它需要特定的ID号来检索某些对象。现在,我有一个表单供用户手动输入ID,提交时会得到一个对象。但是我想要的是有指向所有ID的链接,这样用户就可以单击并选择要检索的对象。我不一定要尝试从用户单击中发出GET请求。我可以在后端发出GET请求,但我只需要一种方法来确定用户正在尝试选择哪个ID。我一直在寻找这样做的方法,但我还没有找到任何具体的我的困境。我读过关于隐藏表单或使用AJAX的文章,但没有更简单的解决方案吗? PHP服务器是否有办法检测单击哪个链接和ID将其存储在变量中

例如:

$lib->request('$ID./videos','GET')

检索一组视频

视频编号1
有没有一种方法可以将上面按钮的id传递给php


我真的很困惑,我想知道我是否过于复杂化了。

您需要使用javascript设置用户的“id”选项(按钮),然后在准备好后将该id传递给您的“后端”请求/链接

下面是一个使用jQuery的简单示例:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>

        <button type="button" data-id="123456" class="id-select">Video Number 1</button>
        <button type="button" data-id="654321" class="id-select">Video Number 2</button><br>

        <br>
        <button type="button" class="watch-video">Watch Video</button>

        <br>

        <div id="selected"></div>

        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
        <script>
            $(function(){
                var id = 0;
                $('#selected').html('You not selected the id yet.');

                $('.id-select').click(function(){
                    id = $(this).data('id');
                    $('#selected').html('Selected video id: '+id);
                });

                $('.watch-video').click(function() {
                    window.location.href = '/'+id+'/videos';
                });
            });
        </script>
    </body>
</html>

视频1
视频编号2

观看视频
$(函数(){ var-id=0; $('#selected').html('您尚未选择id'); $('.id select')。单击(函数(){ id=$(this.data('id'); $('#selected').html('selected video id:'+id); }); $('.watch video')。单击(函数(){ window.location.href='/'+id+'/videos'; }); });
您可以使用XHR发布数据

下面是一个使用jQuery发布数据的简单示例

// URL,parameter,callback function,RT datatype
// just one example
$.post("/"+id+"/videos",{},
  function(data){
    console.log(data);
  },
  "text");//return datatype:json,html,xml,text
}
编辑

您可以通过事件获取id

需要知道

仅ID的类型===触发的编号

编辑2


视频1
视频编号2
$(函数(){ $(document.body).on(“mouseup”,函数(e){ var _e=e.目标; if(typeof _e.id!=“undefined”&&!isNaN(+_e.id)){ var id=_e.id;//这个id是您单击按钮时得到的 //触发器XHR上次编辑的代码 /* *@parma1url *@parma2 post parama *@parma3回调函数 *@parma4 set返回数据类型 */ $.post(“/”+id+“/videos)”,{}, 功能(数据){ 控制台日志(数据); },“text”);//返回数据类型:json、html、xml、text } } });
如果您使用ajax,您可以对所有请求重复使用相同的id,您遇到的问题是页面被刷新。好的,所以我重新表述了这个问题。我不想在用户单击时发出get请求。我想要的只是有一种与服务器通信的方式,该服务器将用户单击的链接起来,以便我可以相应地发送get请求后端。这没有意义,你说你想知道用户点击了哪个链接但没有发出请求,那么这不是一个链接。你也说
我只是需要一种方法来确定用户试图选择哪个ID
。链接不是被选择的。你说的是API文档吗?用户有“ID”然后,对服务器的调用使用id,而用户不提供id来获取调用结果?如果没有,您可以将问题放入一些示例代码中吗?我重新措辞了问题。如果我的问题令人困惑,很抱歉。我希望我解释得更好。我现在明白了,您需要使用javascript设置用户的“id”选项(按钮)然后在你的“后端”请求/链接使用设置好的id然后发送。@让编写者编写我总是给你jquery代码,但你不明白,这里给你的示例完全是谢谢你的。我给了你最高的票数,但其他人给了最低的票数。@让编写者编写一楼的答案可能很好,但你必须离开你的HTML页面,你不能单击其他按钮,您需要重定向回单击。是的,这很好。谢谢!
$(document.body).on("mouseup",function(e){
    var _e  = e.target;
    if(typeof _e.id !== "undefined" && !isNaN(+_e.id)){
         var id = _e.id;
         //trigger XHR last edited code
    }
})