无法根据使用AJAX发送到php的唯一表单点击获取唯一数据

时间:2016-10-23 19:29:49

标签: javascript php jquery ajax

我正在尝试设置一个显示观察结果的页面,如果点击其中一个观察结果,那么它会发送点击观察的观察数量到php。然后,当它们被重定向到详细信息屏幕时,它将填充所点击观察的详细信息。我已经尝试了许多不同的方法来完成这项工作,因此我的代码遍布整个地方,但似乎无论我怎么做,Ajax都不会发送数据或发送相同的观察数字每次。对我而言,似乎AJAX数据属性无法处理i。这是在英特尔XDK中构建的,这是一个html5应用程序构建器。这就是为什么这很棘手,因为我无法使用浏览器开发工具进行调试。

的Javascript

 <script>
  $(document).ready(function(){    
   $.ajax({
     url: "http://localhost/observationMain.php",
     data: { action: "observationID" },
     type: 'post',
     dataType: 'json',
     success: function(observationID){
         for(i = 0; i <= observationID.length; i++)

         {

            $("#observationMainListView").append("<form id='form"+i+"'' method='post'><a id='observation"+i+"' class='list-group-item allow-badge widget uib_w_"+(i+4)+"' data-uib='twitter%20bootstrap/list_item' data-ver='1'><h4 id='observationNum"+i+"' class='list-group-item-heading'>"+observationID[i][0]+"</h4><p class='list-group-item-text'>"+observationID[i][1]+"</p></a><input name='observationNum' value='"+observationID[i][0]+"'></form>");


             $("#observation"+i+"").click(function(){
                    $.ajax({
                    url: "http://localhost/observationDetail.php",
                    data: $("#form"+i+"").serialize(),
                    type: 'post',
                    success: function(observationNum){
                             document.location.href = 'observationDetail.html';   
                    }
                    });

                });

        }
    }
    });

    });


</script>

PHP

<?php
session_start();

if(isset($_POST['observationNum'])){
$_SESSION['observationNum'] = $_POST['observationNum'];
}
?>

1 个答案:

答案 0 :(得分:0)

这可能很疯狂,但请检查此行。表单的id属性有一个额外的'可能导致此问题。

$("#observationMainListView").append("<form id='form" + i + "'' method='post'

我无法运行脚本但只是试一试。