从AJAX发送PHP变量

时间:2017-05-18 10:40:35

标签: javascript php jquery ajax

我正在通过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;
&#13;
&#13;

AJAX:

&#13;
&#13;
			<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;
&#13;
&#13;

4 个答案:

答案 0 :(得分:0)

在你的ajax网址中你缺少php

答案 1 :(得分:0)

试试这个。我在网址中看到了一个sytax错误。要在php中连接字符串,请使用.,在jquery中使用+。你还没有在url

中将你的字符串与php块连接起来
$.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不匹配,则您将该通话发送到另一个页面。