对于每个li菜单,请通过帖子

时间:2016-12-01 19:10:00

标签: javascript php jquery post

所以我有这个数据库:

image

然后我有一个PHP脚本来创建一个简单的菜单,使用' local'列。

$query = "SELECT * FROM credenciais_sensores where ambiente = '1'";
    $results = mysqli_query($conn, $query);

<ul class="treeview-menu">
          <?php

                 foreach ($results as $result){
                       $local = $result['local'];
                        $local = substr($local,0,7);
                   echo "<li><a class='post' href='#'>".$local."</a></li>";
                 }

          ?>


          </ul>

在查询中,我选择了所有信息,但我只显示了本地&#39;。现在,当我点击菜单中的一个项目时,我想以某种方式通过发布将该行的信息发送到另一个页面,而不会触发页面上的重新加载。我知道我可以用GET做到这一点,但我不想在URL上显示信息。

我想发送&#39; oxi_sensorid&#39;和&#39; oxi_apikey&#39;通过邮寄到另一页。香港专业教育学院尝试使用jquery帖子,但我不能让项目显示在另一页...

这是我打印的菜单:

image

现在,例如,当我点击&#34; Pipo 01&#34;我想通过javascript将Pipo 01 oxi_apikey和oxi_apikey发送到另一个文件,例如getData.php。我已经尝试使用ajax将所有数据发布到getdata.php文件,但是getdata.php没有收到它们......

1 个答案:

答案 0 :(得分:0)

首先,您需要修改 php脚本

echo "<li><a class='clsPostData' data-sensorid='".$result['oxi_sensorid']."' data-apikey='".$result['oxi_apikey']."' href='#'>".$local."</a></li>";

您的 Jquery 代码:

$(function(){
    $('.clsPostData').click(function(e){
          e.preventDefault();
          var objPost = {};
          objPost.api = $(this).data('apikey');
          objPost.sensor = $(this).data('sensorid');
          $.ajax({
             url: 'getData.php',
             type: 'post',
             data: objPost
          }).done(function(responseFromPhp){
             //Do something with the response, like
             alert(responseFromPhp.message);
          });
    });
});

您的 getData.php 脚本:

<?php
   $apikey = $_POST["api"];
   $sensorid = $_POST["sensor"];

   $response["message"] = "Grettings from php, we receive your sensorid: ".$sensorid;
   echo json_encode($response);
?>