立即在页面之间传递php变量

时间:2016-09-05 07:21:25

标签: javascript php

我需要将php从其他php页面发送回索引。 我使用$ _SESSION,但它只在刷新页面后显示结果。 在索引中,我从输入中获取值,通过按钮onClick action myAjax()。

function myAjax() {
var range = document.getElementById('range').value;
var port = document.getElementById('port').value;
$.ajax({
   type: "POST",
   url: 'nova2.php',
   data:{action:'call_this',range:range,port:port},
   success:function(html) {
    // alert(html);
   }
});
}

到nova2.php,我在那里查询数据库并获取我要发送回index.php的数组

while ($row = $query2->fetch_assoc()) {
    $port_list[] = $row['port_name'];

}

$_SESSION["var_name"] = $port_list;
mysqli_close($con);

我在这个php函数下放了几乎相同的ajax脚本(当然没有session),但它没有用。我没有收到index.php中的任何值

type: "POST",
url: 'index.php',
data:{action:'action',port_list:port_list},

还有其他方法吗? 谢谢

1 个答案:

答案 0 :(得分:0)

如果您在同一页面上需要SESSION值,那么从您请求AJAX到nova2.php。

nova2.php

中的

while ($row = $query2->fetch_assoc()) {
    $port_list[] = $row['port_name'];

}

$_SESSION["var_name"] = $port_list;
mysqli_close($con);
echo json_encode(array('port_list'=>$port_list));

在你的AJAX功能中

function myAjax() {
var range = document.getElementById('range').value;
var port = document.getElementById('port').value;
$.ajax({
   type: "POST",
   url: 'nova2.php',
   dataType: 'json',
   async: false,
   data:{action:'call_this',range:range,port:port},
   success:function(data) {
     port=data.port_list;
   }
});
}

我希望它应该是有效的。 感谢