为什么JQuery帖子没有传输数据?

时间:2017-03-07 01:32:44

标签: javascript php jquery html post

我在一个名为slick.html的html文件中定义了一个导航栏。我试图将点击的导航栏选项卡的ID传递给untitled.php。 untitled.php中还有其他数据。我正在尝试将navbar隔离到slick.html。我正在尝试使用JQuery post来传输数据并使用$ _POST来访问它,但我没有得到它的价值。我知道这是与客户端和服务器端使用相关的东西。以下是代码。我尝试使用ajax帖子,但我没有得到任何结果。

slick.html(相关部分)

<body>

          <ul class="nav nav-tabs ">
            <li class="active">
              <a id="soilProfile"   href="#tab_default_1" data-toggle="tab">
              Soil Profile </a>
            </li>
            <li>
              <a id="productivityIndex"    href="#tab_default_2" data-toggle="tab">
              Productivity Index </a>
            </li>
            <li>
              <a id="Wetlands"    href="#tab_default_3" data-toggle="tab">
                Wetlands </a>
            </li>
          </ul>

//More Code
</div>
<script>
$(function () {
    $('[data-toggle="popover"]').popover()
    $('#soilProfile').click(function(event) {
        console.log("About to post");
        var data = {id : event.target.id};  
        console.log(data);
        var request = $.ajax({
                        url: "untitled.php",
                        method: "POST",
                        data: { id : data },
        });

        console.log("AFTER POST");
    });
    $('#productivityIndex').click( function(event) {

    var data = {id : event.target.id};  
    $.post( "untitled.php", data );

});
$('#wetlands').click( function(event) {
    var data = {id : event.target.id};  
    $.post( "untitled.php", data );
});

});

</script>
</body>

untitled.php

<?php   
$var = $_POST['id']; 
echo var_dump($var);
// this fetches your post action
echo "this is my variable: " . $var; // this outputs the variable
?>
<html>
    <body>
    <object width=100%  data="slick.html"></object>
      <script>
    $(document).ready(function(){
      $('[data-toggle="popover"]').popover();
    });
      </script>
    </body>
</html>

我不明白为什么它不起作用。请告诉我为什么或建议我更好的解决方案来解决这个问题。

3 个答案:

答案 0 :(得分:0)

在ajax请求中注意到您使用的是“untitled.php”,但页面标题为“Untitled.php”。 Case在Linux上有所作为。

答案 1 :(得分:0)

在执行javascript之前,您确定slick.html不仅仅是通过点击锚点来刷新吗?你不需要阻止默认事件吗?

答案 2 :(得分:0)

如果你说你想传递点击的id。

试试这个并查看console.log

$('#soilProfile').click(function() {
        console.log("About to post");
        var data = $(this).attr("id");         
        console.log(data);
        $.ajax({
               url: "untitled.php",
               type: "POST",
               data: { id : data }
        });

        console.log("AFTER POST");
    });