0

请告知,因为我是 jQuery 新手。以下代码是:

function get(database)
    {   
        var dbValue = database; 
        console.debug("dbvalue read as :", dbValue)
        $.ajax// use of jQuery here
            ({
                type: "POST",
                url: "testconnect.php",
                data: {nameDB: dbValue},
                success: function(data)
                { 
                    alert("Successfully login and connected");
                }
                error: function(data) 
                {
                    alert("Unsuccessfully login and connected");
                }
            });
    return false;
    }

如果数据为 1(true),则警报将显示“成功登录并连接”。但是如果错误为0,它不会产生“登录和连接失败”。

4

4 回答 4

1

error: function() {}如果 AJAX 请求中有错误,将触发。如果 AJAX 请求不成功,那么只会执行此函数。

您可以通过比较成功函数的输出来做您想做的事情,如下所示:

success: function(data) { 
   if(data == '1') alert("Successfully login and connected");
   else alert("Unsuccessfully login and connected");
}
于 2013-07-05T09:07:36.380 回答
1

用这个:

success: function (data) {
    if (data == "1") {
        alert("Successfully login and connected");
    } else {
        alert("Unsuccessfully login and connected");
    }
}

成功与错误是指 AJAX 请求/响应过程是否成功,它不会尝试解释数据。

于 2013-07-05T09:10:16.793 回答
0

success 和 error 是内置插件函数,仅表示您的 ajax 请求是否成功执行。返回后尝试检查存储在数据中的值。例如。if(data == "0){alert("登录错误");} else if(data == "1"){alert("登录成功");} else{}

于 2013-07-05T09:12:17.350 回答
0

嗨,这是最令人困惑的。我尝试尝试使用类型字符串、数字和位。我找到了最准确的 - 位类型(TRUE 和 FALSE)。

这是我在另一个文件 php 中测试后发现的:-

try
{
    $dbh = new PDO($dsn, $user, $pswd, array(PDO::ATTR_TIMEOUT => "10",// 10 seconds
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); // connect to DB, declared as global variable!
    $firephp->warn("Attempting to login and connect to server is successful.");
    $connect = TRUE;

}

catch(PDOException $err)
{
    $firephp->error("Attempting to use selected database is failed.");
    $alertmsg = $err->getMessage();
    $firephp->log($err);
    $connect = FALSE;

它们是可行的,然后我修改下面的旧代码,如下所示:-

$.ajax// use of jQuery here
            ({
                type: "POST",
                url: "testconnect.php",
                data: {nameDB: dbValue},
                success: function(connect)// meant for ajax request purposes only, not 500 interval server error! 
                { 
                    console.debug("data read as: ", connect);
                    if(connect)//as true or false as indicated in login.php 
                        alert("Successfully login and connected");
                    else
                        alert("Attempt to login and connect is NOT successful");    


                },

关于“成功”,无论成功与否,它都只适用于数据库,我会使用上面的代码。无论结果如何,“connect”都将被读取为 '11' 为 TRUE 和 '' 为 FALSE。

这样,它就不那么混乱和直接了。

最后对于错误,它仅适用于 ajax 错误,不适用于数据库的状态。

我会这样编码:-

error: function(xhr, textStatus, error)// for only ajax errors, nothing to do w 
                {
                    console.debug(xhr.statusText);
                    console.debug(textStatus);
                    console.debug(error);
                }

感谢您的帮助。所有人都在工作。但是我还没有测试 Ajax 错误。如何模拟 ajax 错误?

于 2013-07-12T02:09:24.503 回答