如何使用AJAX从PHP获得响应

时间:2015-09-01 20:14:04

标签: php jquery ajax

此代码中的想法是打印用户拥有的关注者数量......

这是我创建的代码

AJAX

$(document).ready(function() {
var usuario = $(".left h4").attr("data-id");
var seguidor = $("#user_account_info .profile_ball").attr("data-id");

$.ajax({
    type: "POST",
    url: "./include/php/followers.php",
    data: { user: usuario, follower: seguidor },
    success: function(data) { $(".right h4 i").html(data); }
});
return false;
});

PHP

<?php
$dsn = "mysql:host=localhost;dbname=tapehd;charset=utf8";
$usuario = "root";
$contraseña = "";

$conexion = new PDO($dsn, $usuario, $contraseña);
$resultado = null;

$user = $_POST["user"];
$seguidor = $_POST["follower"];

$sql = "SELECT count(*) as seguidores FROM seguidores WHERE id_canal = '$user'";

if(isset($resultado)){ $datos = $resultado->fetch(); }

$seguidores = $datos["seguidores"];

return $seguidores;
?>

我将结果返回到php文件并收回php中的数据。我在想要显示的div中打印,但它只显示错误:

  

注意:未定义的变量:数据输入   第16行的C:\ wamp \ www \ tapeHD \ include \ php \ followers.php

2 个答案:

答案 0 :(得分:1)

看起来问题是$datos仅在设置$resultado时设置。现在,在您的脚本中是实际执行的SQL查询。我会为$datos设置默认值并执行您的查询。

答案 1 :(得分:0)

看起来可能是因为$ resultado为null,因此未设置。因此当if(isset($ resultado).....的条件语句出现时,它实际上没有执行并导致$ datos填充。因此$ datos [“seguidores”];当你尝试分配时不存在它是$ seguidores。