我正在尝试设置一个显示观察结果的页面,如果点击其中一个观察结果,那么它会发送点击观察的观察数量到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'];
}
?>
答案 0 :(得分:0)
这可能很疯狂,但请检查此行。表单的id属性有一个额外的'
可能导致此问题。
$("#observationMainListView").append("<form id='form" + i + "'' method='post'
我无法运行脚本但只是试一试。