Javascript 将变量不带表单或URL扩展传递到下一页
我有一个指向exampleA.php的链接,但我希望在链接中有一个变量传递。当然,条件不是使用URL扩展名或表单提交。我四处搜索,大多数人建议使用ajax,但对我来说,我不仅仅是传递文件的变量,当我在exampleA.php页面时,我想处理这个变量。 在exampleA.php中,我有一些代码作为示例Javascript 将变量不带表单或URL扩展传递到下一页,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有一个指向exampleA.php的链接,但我希望在链接中有一个变量传递。当然,条件不是使用URL扩展名或表单提交。我四处搜索,大多数人建议使用ajax,但对我来说,我不仅仅是传递文件的变量,当我在exampleA.php页面时,我想处理这个变量。 在exampleA.php中,我有一些代码作为示例 if(isset($\u POST['Type'])){ $Type=$_POST['Type']; } 使用Ajax,当我已经到达exampleA.php页面时,我无法处理POST变量。 以防万
if(isset($\u POST['Type'])){
$Type=$_POST['Type'];
}
使用Ajax,当我已经到达exampleA.php页面时,我无法处理POST变量。
以防万一,也许我的代码错了
<a class="example_anchor" href="TestB.php/" data-type="Activity">M</a>
<script>
$(".example_anchor").on("click", function (e) {
e.preventDefault();
var Type = $(this).data();
var link = $(this).attr('href');
$.ajax({
url: link,
type: "POST",
dataType: "text",
data: {
Type:Type
},
error: function (msg) {
alert("Fail");// Error handling
},
success: function (msg) {
// Success handling
alert("You will now be redirected.");
window.location.replace(link);
}
});
});
</script>
$(“.example_anchor”)。在(“click”上,函数(e){
e、 预防默认值();
变量类型=$(this.data();
var link=$(this.attr('href');
$.ajax({
网址:link,
类型:“POST”,
数据类型:“文本”,
数据:{
类型:类型
},
错误:函数(msg){
警报(“失败”);//错误处理
},
成功:功能(msg){
//成功处理
警报(“您现在将被重定向。”);
窗口。位置。替换(链接);
}
});
});
尝试使用会话发送数据,而不使用表单、url或ajax
下面是如何做到这一点
session_Start()行在每页上启动一个会话代码>
$\u session['transferdata']=“some data”
if(isset($\u会话['transferdata'])){
//做你想做的事
}
尝试使用会话发送数据,而不使用表单、url或ajax 下面是如何做到这一点
session_Start()行在每页上启动一个会话代码>
$\u session['transferdata']=“some data”
if(isset($\u会话['transferdata'])){
//做你想做的事
}
$('.example_anchor[data-type]').on('click', function (e) {
document.cookie = `type=${this.getAttribute('data-type')}` // note, very simplified
return true
})
然后您的PHP脚本应该能够访问$\u COOKIE['type']
如果
TestB.php
与当前资源不在同一路径中,则可能需要设置cookiepath
属性。您可能还需要设置其他属性,如expires
,尽管默认属性将在会话结束时过期。就我个人而言,在进入下一页之前,我会先设置
$('.example_anchor[data-type]').on('click', function (e) {
document.cookie = `type=${this.getAttribute('data-type')}` // note, very simplified
return true
})
然后您的PHP脚本应该能够访问$\u COOKIE['type']
如果
TestB.php
与当前资源不在同一路径中,则可能需要设置cookiepath
属性。您可能还需要设置其他属性,如expires
,尽管默认属性将在会话结束时过期。您的控制台中是否有错误?您不能简单地使用区域设置存储或cookie吗?上面代码的问题是,TestB.php
只会收到AJAX请求的$\u POST['Type']
。当您使用window.location.replace(link)
时,这是一个单独的GET
请求,而$\u POST
将为空。您为什么不能使用表单提交或更简单的TestB.php?Type=Activity
?这些限制有什么实际原因吗?上级决定的要求。我必须找到解决方法。你的控制台有错误吗?你不能简单地使用区域设置存储或cookie吗?上面代码的问题是,TestB.php
只会收到AJAX请求的$\u POST['Type']
。当您使用window.location.replace(link)
时,这是一个单独的GET
请求,而$\u POST
将为空。您为什么不能使用表单提交或更简单的TestB.php?Type=Activity
?这些限制有什么实际原因吗?上级决定的要求。我必须想办法解决这个问题。为了弄清楚,我使用了多个链接。每个链接都有其可能的变量,并且都指向同一页面。在这里,您的解决方案非常简单,但我如何确定单击链接时要发送哪些数据。据我所知,PHP没有像JavaScript这样的点击事件。哦,等等,我的眼睛刚刚睁开。我可以使用ajax,并在目标php代码上分配变量。谢谢。为了清楚起见,我使用了多个链接。每个链接都有其可能的变量,并且都指向同一页面。在这里,您的解决方案非常简单,但我如何确定单击链接时要发送哪些数据。据我所知,PHP没有像JavaScript这样的点击事件。哦,等等,我的眼睛刚刚睁开。我可以使用ajax,并在目标php代码上分配变量。谢谢。太好了,我从没想过。谢谢你,我从没想过。谢谢