试图获取JSON数据,但没有任何反应

时间:2012-01-19 20:03:09

标签: php javascript jquery json

javascript代码:

$.getJSON("comprueba_login.php", {usuario:$("#usuario").val(), pwd:$("#contrasena").val()}, function(data){
            alert("resultado: " + data.resultado);
        });

php代码:

<?php
    include 'db.php';
    $usuario = $_GET['usuario'];
    $pwd = $_GET['pwd'];
    $sql = "SELECT IDUSUARIO FROM USUARIOS WHERE USERUSUARIO = '" . $usuario . "' AND PWUSUARIO = '" . $pwd . "'";
    $res =  mysql_query($sql, $db) or die("fallo query: " . mysql_error());
    // echo $sql . "<br>";      

    if(mysql_num_rows($res)){?>
        {'resultado':'OK'}
    <?php }else{ ?> 
        {'resultado':'NO_OK'}
    <?php }?>

javascript代码中的警报永远不会出现。我做错了什么?

提前致谢。

2 个答案:

答案 0 :(得分:2)

JSON键和字符串值必须用"双引号括起来。单引号(')将无效。

答案 1 :(得分:2)

首先也是最重要的是,不要将数据库凭据放在网页中。

getJSON的无提示失败通常表示JSON字符串中存在语法错误。

$.getJSON("comprueba_login.php", {usuario:$("#usuario").val(), pwd:$("#contrasena").val()}, function(data){
            alert("resultado: " + data.resultado);
        }).error(function() { alert("Error in getJSON") });

将证实这一点。

我相信你正在尝试做的正确语法是:

   if(mysql_num_rows($res)){?>
        { resultado :"OK"}
    <?php }else{ ?> 
        { resultado : "NO_OK"}
    <?php }?>

但如果你要广泛使用JSON,你应该考虑使用一个包来为你创建它。