将Javascript发布到PHP,然后在另一个javascript中检索


Post Javascript to PHP and then retrieve in another javascript

我正在尝试将java_post.js中的值发布到php_post.php中,然后在另一个javascript页面index.html中检索。到目前为止,我可以将值发布到php_post.php中,并检索回我的java_post.js alert(data) 但我无法从索引中检索.html

Java_post.js
var url_link ="index.html";
//On Click Select Function
$("#table_hot").on('click', 'tbody tr',function(){
$(this).addClass('selected').siblings().removeClass('selected');
var value=$(this).find('td:first').html();
$.post('PHP_post/php_post.php',
    {
        postvalue:value
    },
    function(data){
    alert(data);
}
);
});
//Window Pop Out Function
function hotspot_pop(url_link){
newwindow = window.open(url_link, '', "status=yes, 
height=500; width=500; resizeable=no");
}

当客户端单击所选表,然后发布到php_post.php时,将检索该值。php_post.php将过滤结果并返回到index.html

$filtered_students = array_filter($ARRAY, function($row) {
$hotspot_value = $_POST['postvalue'];
if($row['name'] == $hotspot_value){
    return true;
}
});
echo $filtered_students;

所以现在我能够检索该值并发布为我的java_post.js警报,但该值没有传递到index.html并且我收到未定义postvalue的错误。

<html>
<script src="js/jquery-1.11.1.min.js"></script>
<body>
<div id="result"></div>
<script>
var xmlhttp_user = new XMLHttpRequest();
var url_user = "PHP_post/php_post.php";
xmlhttp_user.onreadystatechange=function() {
    if (xmlhttp_user.readyState == 4 && xmlhttp_user.status == 200) { 
      document.getElementById("result").innerHTML=xmlhttp_user.responseText;    }
}
xmlhttp_user.open("GET", url_user, true);
xmlhttp_user.send();
</script>
</body>
</html>

所以我的问题是现在,有没有办法让我从php_post.php index.html显示值.提醒一下,来自java_post.jsalert(data)只是一个测试目的,以显示值确实发布并从php_post.php返回

您遇到的问题是,当您将数据传递到 PHP 文件中并在 JavaScript 中接收数据时,信息只会持续到您当前的请求。

若要解决此问题,请考虑使用 PHP 会话变量来存储数据,以便以后可以检索它。

例:

// php_post.php
<?php
start_session();   // initializes session for persistent data
$filtered_students = array_filter($ARRAY, function($row) {
$hotspot_value = $_POST['postvalue'];
     if($row['name'] == $hotspot_value){
         return true;
     }
});
$_SESSION["filtered_students"] = $filtered_students;   // You can now retrieve this in
                                                       // Another PHP file
?> 

现在在另一个文件中(您可以切换 HTML 文件以从 php_get.php 获取):

//php_get.php
<?php
start_session();          // Don't forget to start the session
echo $_SESSION['filtered_students'];
?>

更多信息请点击此处:http://www.w3schools.com/php/php_sessions.asp

您可以在 PHP 会话中设置所需的值,同时php_post.php。这样,您可以在所需的任何页面上检索会话的值。