我正在使用带有cgi的本地apache webserver创建一个简单的站点,所以我可以运行我的python脚本。我也使用jQuery向python脚本发出AJAX请求,这样我就可以异步运行脚本。我还使用PHP来模拟登录按钮,以便用户可以登录网站。问题是,在用户登录后,它会显示用户的ID,并且我希望将相同的ID作为参数传递给python脚本,脚本将在其中获取并返回其他内容。虽然我使用相同的PHP变量,但传递给python脚本的变量类似,但与用户登录时显示的变量不同。
用户登录后显示ID的PHP代码:
echo "Welcome back" . "</br> </br>" . $picture ."</br>". $steamprofile['personaname'] . "</br>" .$state . "</br>". "Steam ID: ". $steamprofile['steamid'] . "</br>";
echo '<a href="' . $url . '">Steam Profile</a>' . "</br> </br>" . "<form action=\"steamauth/logout.php\" method=\"post\"><input value=\"Logout\" type=\"submit\" /></form>";
传递给python脚本的PHP变量(使用J
$(document).ready(function(){
$("#steambutton").click(function() {
$.ajax({
type: "POST",
url: "http://localhost/cgi-bin/Steap.py",
data: {steamid: <?php echo $steamprofile['steamid']?>},
success: function(response) {
$("#steamdiv").html(response);
}
});
});
});
</script>
正如您在两个代码段中看到的那样,具有两个不同值的变量是$steamprofile['steamid']
。这两个代码片段几乎彼此相邻,并且在执行第一个脚本后,我不会在任何地方更改$steamprofile['steamid']
的值。为什么会这样?变量有两个相似的值似乎很奇怪。
例如,这是用户登录后的ID(来自第一个代码):
76561198041778794
这是从第二个代码传递给python脚本的ID,但是:
76561198041778800
答案 0 :(得分:1)
尝试传递数据(添加引号将其作为字符串传递):
data: {steamid: "<?php echo $steamprofile['steamid']?>"},