我正在尝试点击<div>
执行一个简单的PHP脚本。我一直在搜索SO,并且出现了一些类似的问题,但是当我没有数据发布时,所有问题都涉及发布数据。
<div name="logout">
logout
</div>
<script>
$(document).ready(function() {
$('div[name="logout"]').click(function() {
$.ajax({
url: './scripts/logout.php',
dataType: 'json'
}).done(function(result) {
alert(result.message);
});
});
});
</script>
logout.php
如下:
if (isset($_SESSION["username"]) && (isset($_SESSION["logintoken"]))) {
session_destroy();
$jsonArr = array('success' => true, 'message' => "You've logged out.");
echo json_encode($jsonArr);
} else {
$jsonArr = array('success' => false, 'message' => "You're not logged in.");
echo json_encode($jsonArr);
}
没有警告点击,控制台显示没有错误。每次都会向AJAX调用添加.fail
条件,但控制台中没有任何内容。
所有其他时间我使用AJAX来处理表单,而不是这个确切的情况。我没有数据要发布或获取,并且SO上的大多数解决方案都说要向AJAX调用添加data: {}
位,但我没有任何内容可以放在这里。
我在这里做错了什么?跟踪我的代码,我想我可能正在重新初始化$_SESSION
变量,但我没有。
答案 0 :(得分:1)
试试这个
<script>
$(document).ready(function() {
$('#logoutBtn').click(function() {
$.ajax({
url: './scripts/logout.php',
dataType: 'json'
}).done(function(result) {
alert(result.message);
});
});
});
</script>
<div id="logoutBtn">
logout
</div>
答案 1 :(得分:0)
<div>
没有name
。这是表单字段。尝试
<div class="logout">
^^^^^^^^^^^^
...
$('div.logout').click(function() {
^^^^^^^^^^
代替。