2

id_function.php が完全に正常に動作する出力が得られません。誰か助けてください。

JavaScript

 function get_details()
    {
        var oriz = document.getElementById("from").value;
        var dizz = document.getElementById("to").value;

        var id_orig_diz = $.ajax({
            type: "POST", 
            url: 'id_function.php?orig='+oriz+'&des_id='+dizz,
            dataType: "text", 
            async: false
                        }).responseText;
        alert(id_orig_diz); 

    }

これは私のPHPですが、IDを取得していません

            <?php
            $name_1 = $_GET['orig'];
            $name_2 = $_GET['des_id'];
            try {
                $dbuser = "kim";
                $dbpass = "kim";
                $conn = new PDO('mysql:host=localhost;dbname=destination', $dbuser, $dbpass);
                $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    
                $stmt = $conn->prepare("SELECT pl_id FROM view_places WHERE name = :name LIMIT 1");

                $stmt->bindParam(':name',$name_1); 
                $stmt->execute();
                $result_1 = $stmt -> fetch();
                $res1 = $result_1["pl_id"];  

                $stmt->bindParam(':name', $name_2); 
                $stmt->execute(); 
                $result_2 = $stmt -> fetch(); 
                    $res2 = $result_2["pl_id"];  
                    echo   'origin_number:'.$res1. ', '.'destination_id:'.$res2;
                }   catch(PDOException $e) {
                        echo 'ERROR: ' . $e->getMessage();
                }

            ?>
4

3 に答える 3

3

代わりにこれを試してください。アラートを出すときに ajax 呼び出しがまだ完了していないためです。suucess 関数を使用すると、ajax 呼び出しが終了したことを確認できます。応答が必要な場合は、php ファイルに何かをエコーする必要があります。

$.ajax({
   type: "POST", 
   url: 'id_function.php',
   dataType: "text", 
   data: { 'orig': oriz, 'des_id' : dizz },
   async: false,
   success: function(data){
      alert(data);
   }
})

あなたのphpファイルに、このモードで値を取ることができます:

<?php
$orig = $_POST['orig'];
$des_id = $_POST['des_id'];
?>
于 2013-08-05T14:22:40.803 に答える