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