【发布时间】:2013-11-20 16:50:18
【问题描述】:
我想记录页面上特定DIV 和子DIVS 内发生的每次点击。客户不应该意识到这一点。 div 内部是指向外部网站的链接。
客户端点击div 中的链接 > ajax 在数据库中插入记录 > 客户端发送到点击链接的站点
页面上的 PHP
include('quotemaster/dbmodel.inc.php');
if(isset($_POST['dataString'])) {
clickCounter();
}
PHP 模型函数
function clickCounter() {
global $host, $user, $pass, $dbname;
try {
$DBH = new PDO("mysql:host=$host;dbname=$dbname",$user,$pass);
$stmt = $DBH->prepare("INSERT INTO clickcounter (counter) VALUES (1)");
$stmt->execute();
}
catch (PDOException $e) {
echo $e->getMessage();
}
}
AJAX POST
$(function() {
$("body").click(function(e) {
if (e.target.id == "results" || $(e.target).parents("#results").size()) {
//alert("Inside div");
ajax_post();
}
});
})
function ajax_post() {
var dataString = 'CC='+1;
$.ajax({ type: "POST", url: "tq/--record-events.inc.php", data: dataString });
}
我遇到的问题(我认为)是AJAX 帖子没有被发送。有任何想法吗?谢谢!
【问题讨论】:
-
你的警报(“Inside div”)被触发了吗?
-
是的。这样可行。它只是不发送 POST。我知道该模型也可以工作,因为如果我
!isset会在DB中创建一条记录 -
试试
$.ajax({ type: "POST", url: "tq/--record-events.inc.php", data: {dataString : dataString} }); -
@Dheed 不起作用。
-
您可以尝试打印/转储 $_POST 数组吗?
var_dump或file_put_content('array', print_r($_POST,true));
标签: javascript php jquery ajax pdo