我正在通过AJAX和PHP创建通知检查器。
我已经创建了一个警告,这是"是的"或" nope"依赖于是否收到响应,但是没有显示警报。
我是否正确发送了我的php变量?
PHP:
<?php
session_start();
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
//Request identified as ajax request
//HTTP_REFERER verification
if($_SESSION['email'] == $_GET['email']) {
require_once 'connect.php';
/* FORM VARIABLES */
$email = strtolower($_GET['email']);
try
{
$stmt = $pdo->prepare("SELECT * FROM notifications WHERE to=:email");
$stmt->execute(array(":email"=>$email));
$count = $stmt->rowCount();
echo $count;
}
catch(PDOException $e){
echo $e->getMessage();
}
}
else {
header('Location: http://website.com');
}
}
else {
header('Location: http://website.com');
}
?>
&#13;
AJAX:
<script>
function notificationCheck() {
$.ajax({
url: 'website.com/page.php?email='<? echo $email ?>,
data: "",
success: function (data) {
var bubification = data;
if (bubification === 0) {
window.alert("Yes");
} else {
window.alert("Nope");
}
$('#profile-sidebar-responsive-notifcation-count').html(''+bubification+''); $('#profile-sidebar-notifcation-count').html(''+bubification+'');
}
});
}
$(document).ready(notificationCheck);
setInterval(notificationCheck, 10000);
</script>
&#13;
答案 0 :(得分:0)
在你的ajax网址中你缺少php
答案 1 :(得分:0)
试试这个。我在网址中看到了一个sytax错误。要在php中连接字符串,请使用.
,在jquery中使用+
。你还没有在url
$.ajax({
url: 'website.com/page.php?email='+'<?php echo $email ?>',
method: "GET",
success: function (data) {
var bubification = data;
if (bubification === 0) {
window.alert("Yes");
} else {
window.alert("Nope");
}
$('#profile-sidebar-responsive-notifcation-count').html(''+bubification+''); $('#profile-sidebar-notifcation-count').html(''+bubification+'');
}
});
答案 2 :(得分:0)
我认为你有连接错误 改变
<? echo $email ?> to +'<?php echo $email ?>'
答案 3 :(得分:0)
在PHP中,如果您处理AJAX,则假设echo
响应始终为
请删除header('Location: http://website.com');
并使用类似
echo 'false'
因为如果您的$email
不匹配,则您将该通话发送到另一个页面。