所以,我有这个点击功能,每当我按下其中一个DIV元素时,它会推出一个侧面的菜单,我想要有更多关于我点击的DIV元素的信息。
我能够点击哪个元素。
但我似乎无法从jQuery获取信息到PHP页面。
最终做的就是从控制台获取
Nopearray(0) {}
我一直在盲目工作,并且无法想出如何修复它。
$(document).ready(function () {
$('.placeContainer').click(function () {
var myKey = $(this).attr('data-id');
console.log(myKey);
// .placeContainer Element movment here //
$.ajax({
type: 'POST',
url: 'info.php',
data: {num: myKey},
success: function (data) {
console.log(data);
}
});
});
info.php的
$numphp = isset($_POST['num'])? json_encode($_POST['num']) : 'Nope';
echo $numphp;
的index.php
<main id="mainWindow">
<div id="content">
<?php require 'clickableobjects.php' ?>
</div>
<!-- Object that pops out-->
<div id="messageWindow">
<?php require 'info.php' ?> <-- should i do it like this?
</div></div>
我是否需要这样,或者是否需要在点击功能中调用它?
答案 0 :(得分:0)
首先关于info.php - 你根本不需要它。你应该使用$ .ajax方法调用php脚本,我认为你做得正确(假设info.php与你的索引文件在同一个文件夹中。
我有一些技巧可以帮助您解决问题:
$ .ajax()已经从$('。placeContainer')调用。点击函数体,对吗?它看起来就像你发布的那样。
打开开发控制台(F12),单击“控制台”选项卡并刷新。有任何JS错误吗?单击div并查看是否出现错误。
再次打开开发控制台并单击“网络”选项卡并再次刷新。当您点击div元素时(意味着ajax无法连接到您的php脚本),您是否看到红色请求。
如果这些步骤没问题,那么每当您点击div时,您都会看到一条新行添加到网络标签中。如果这行不是红色,那么你在JS和PHP之间的沟通是可以的,你可以在id =“messageWindow”的div中显示结果。
你可以在ajax的成功方法上这样做,通过这样重写:
success: function (data) {
$("#messageWindow").html(data);
}
如果您遇到任何网络或控制台错误,请先修复它们。