我在一个名为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>
我不明白为什么它不起作用。请告诉我为什么或建议我更好的解决方案来解决这个问题。
答案 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");
});