我有两个单独的页面,一个页面用于上传文件,另一个页面用于显示信息。
在imageupload.php页面中,我有以下会话:
$_SESSION['fileImage']['name'] = $_FILES['fileImage']['name'];
我还有一个javascript函数,可以回调javascript函数:
<script language="javascript" type="text/javascript">window.top.stopImageUpload();</script>
现在在一个单独的页面(QandATable.php)上,我有一个javascript函数,但我的问题是如何在javascript函数中调用上面的$ _SESSION代码,以便我可以将它附加到$('。list') ?
以下是javascript功能:
function stopImageUpload(success){
var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
$('.listImage').append('<br/>');
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
答案 0 :(得分:2)
你不能,因为$ _SESSION是服务器端变量,但你可以通过它来访问它。
对于整个会话变量
<script type="text/javascript" >
var session = <?php echo json_encode($_SESSION); ?>;
</script>
对于会话中的特定变量。
<script type="text/javascript" >
var session_var = <?php echo json_encode($_SESSION['VAR_NAME']); ?>;
</script>
现在你有一个名为session的js变量与该信息。但是,在大多数情况下,不建议将所有信息输出到公共页面。
答案 1 :(得分:2)
会话变量存储在服务器上。 JavaScript在cliend端执行,所以它对服务器端一无所知。它只知道你传递给它。
要将变量传递给javascript,请使用ajax请求,或者只输出值:
<script>
var sesionValue = <?=json_encode($_SESSION['value']);?>;
</script>
答案 2 :(得分:1)
您应该考虑使用JQuery,因为它使这些类似AJAX的任务变得更加容易。
请参阅我今天写的函数来做类似于你所要求的事情。
这需要一些PHP输出(在调用的success
部分返回ajax()
。它采用的格式是JSON,它兼容PHP和JavaScript(JSON:JavaScript Object Notation) )。
function viewClientDetails(id) {
var clientParams;
clientParams.clientID = id;
$.ajax({
url: BASE_URL + '/clients/get-client-details.php',
type: 'POST',
data: clientParams,
dataType: 'JSON',
success: function(myClient) {
var name = myClient.name;
$('td#name').html(name);
},
error: function(e) {
console.log(e.responseText);
}
})
}
在我的PHP文件(名为/clients/get-client-details.php
)中,我有类似的内容:
<?php
...
$myClient = array('name' => 'Mr Foobar');
print json_encode($myClient);
?>
这只是将我的PHP对象写入JSON格式。
在上面的 JS 代码中,代码将一部分JSON数据插入到一个HTML表 - 数据元素中,其CSS选择器ID为#name
,其行为:{{1 }}
道歉,如果这让你更加困惑,我想我会展示你可以尝试一些时间的例子。
这可能对你有所帮助...继续尝试,你会到达那里:)
答案 3 :(得分:0)
你做不到。 $_SESSION
是一个PHP变量,该代码在服务器端运行。
您需要将值作为Javascript变量存储在PHP文件的输出中,然后在Javascript中访问该变量。