簡體   English   中英

將數據從php發送到單獨文件之間的javascript

[英]Send data from php to javascript between separate files

我有一個login.php,一個main.php,一個functions_js.js和一個functions_php.php(我也使用jquery)。

我的問題是我需要從login.php中獲取兩個變量,並將其發送到functions_php.php(ajax,可以使用),然后在functions_php.php中,我進行查詢選擇(帶有該變量),然后返回一個數組我需要在functions_js.js上,在此文件中,我有一個函數可以在main.php上插入圖像。 我不知道如何將數組從functions_php傳遞給functions_js.js。 我讀過我可以使用json,但不知道如何在2個不同的文件之間使用。

我試圖使用json並將其傳遞給main.php,但是沒有用:

functions_php.php:

if (isset($_POST['user'])) {
    function startPerson($nick,$pass){
        $query = $conexion->query('SELECT archive_id FROM family WHERE family_id=(select distinct family_id from person where user_id = (select user_id from user where user_name="'.$nick.'" and password="'.$pass.'"))');
        $query->execute();

        while ($res = $query->fetch()) {
            $id = $res['archive_id']; //archive_id
        }
        //coger las personas de las familias de ese archive_id
        $query = $conexion->query('SELECT person_id, birth_date FROM person WHERE family_id in (select family_id from family where archive_id='.$id.')');
        $query->execute();
        while ($res = $query->fetch()) {
            $person[] = $res[0]; //archive_id
            $date[]=$res[1];
        }
        return array($person, $date); 
    }

    header('Content-Type: application/json');
    $encoded=json_encode(startPerson($_POST['user'],$_POST['pass']));
    echo $encoded;
 }

main.php:

<?php
$json_data=json_encode($encoded);
?>
<script>
var an_obj= <?php echo $json_data;?> ;
alert(an_obj);//returns null
</script>

function_js.js:

 function startPerson (date) {
 for(i=0;i=>date.length;i++){
    var elem = date[i].split('-');
    var mon= elem[1]; //month
    var year=elem[0]; //year
    var mont= num2mon(mon);
    position(year,mont);
 elem=" ";
 mon=" ";
 year=" ";
 }
}
function position(year, mon)
{
    $('#' + year + ' .' + mon).prepend('<img class="black_point" src="./images/circle.png"/>');    
}

您是否嘗試過更改:

var an_obj= <?php echo $json_data;?> ;

至:

var an_obj = "<?php echo $json_data;?>";

請記住,變量是一個字符串。

您還可以嘗試對$ encoded進行回顯嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM