gpt4 book ai didi

php - 使用ajax设置时$_GET变量没有保持设置状态?

转载 作者:行者123 更新时间:2023-12-01 04:45:34 24 4
gpt4 key购买 nike

抱歉,我是 ajax 新手,总体来说编程也不错。

我有一组 div,每个 div 包含一组电子商务网站的产品。单击某个库存按钮时,一次只能看到一个 div。

当用户单击可见 div 内显示的产品时,用户将进入显示产品详细信息的新页面。基本上我想做的是当用户单击浏览器中的后退按钮时拥有历史记录,我希望它返回到加载页面时可见的最后一个 div。

我试图在用户打开产品 div 时使用 ajax 将变量发送到 php 文件,然后在用户回击并重新加载页面时检索该变量。我可以使用 ajax 将变量fine发送到php文件,并返回同一ajax函数的 success 属性。但之后,当我尝试检索该变量时,它显示为未设置。

Ajax发送方法:

    // when the user clicks the apparel stock button the corresponding div becomes visible 
$("#stockApparel").click(function(){

var $apparel = "apparel";

$.ajax({

url: "php/panel.php",

data: { panel: $apparel },

type: "get",

dataType: "text",

success: function(response){
alert(response); // response is "apparel" as intended/
},

});


$("#stockButtons").animate({left: '1140px'});
$("#new").animate({left: '-470px'});
$("#apparel").show(700);
$("#marketing").hide(100);

var divPosition = $('#shippingImg').offset();
$('html, body').animate({scrollTop: divPosition.top}, "slow");

});

获取变量的方法

$(window).load(function(){
alert('window has been fully loaded');

$.get("php/panel.php", function(data, status){
alert("Data: " + data + "\nStatus: " + status); // returns as "variable not set".
});

});

PHP 文件

if (isset($_GET['panel'])) { // check if varaiable has been set

$panel = $_GET['panel'];
switch ($panel) {
case "collectable":
echo "collectable";
break;

case "apparel":
echo "apparel";
break;

default:
}
} else echo "Variable not set."; // if variable is not set

?>

即使我将 $.get 方法直接放在 ajax 发送方法之后,我仍然会从 php 文件返回“变量未设置”,有什么想法我做错了吗?

最佳答案

直接回答这个问题:不,请求之间获取参数不会保留在服务器端
但是,您可能想阅读一些客户端-服务器交互的基础知识
用两个词来说:在第一种情况下,您发送带有一些参数的 GET 请求
panel.php?panel=value
在第二种情况下 - 它只是普通的 GET 请求,没有它。服务器本身并不保留有关先前请求的信息,也没有必要这样做。如果您想保留此信息,您可能需要使用某种数据库逻辑,或 session /cookie 缓存(有一个答案,提供了这方面的代码示例)。

关于php - 使用ajax设置时$_GET变量没有保持设置状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30287180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com