我正在使用带有cgi的本地apache Web服务器制作一个简单的网站,这样我就可以运行我的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
尝试传递数据(添加引号以字符串形式传递):
data: {steamid: "<?php echo $steamprofile['steamid']?>"},