Heim >Backend-Entwicklung >PHP-Tutorial >ajax-return value – Die Demo von PHP, die JSON-Daten zurückgibt, ist wie folgt.

ajax-return value – Die Demo von PHP, die JSON-Daten zurückgibt, ist wie folgt.

WBOY
WBOYOriginal
2016-09-12 17:44:45997Durchsuche

<code><?php
// Include ezSQL core
include_once('../include/ez_sql_core.php');

// Include ezSQL database specific component
include_once('../include/ez_sql_postgresql.php');
$username='';
$password='';
$result='';
if(!empty($_POST)){
    $username = $_POST["username"];
    $password = $_POST["password"];
}else{
    
}

$db = new ezSQL_postgresql('i2soft', 'i2s@Shanghai', 'sdata', '127.0.0.1');


///$user = $db->query("select id from user2 where name = 'admin' and password ='admin'");
//$user_details = $db->get_row(null, OBJECT, 0);
//var_dump($user_details) ;

$sql = sprintf("select * from user2 where name='%s' and password='%s'",$username,$password);
//echo $sql;
//select * from user2 where name='admin' and password='admin'
$user=$db->get_results($sql);

//var_dump($user);
//array(1) { [0]=> object(stdClass)#5 (3) { ["id"]=> string(1) "1" ["name"]=> string(5) "admin" ["password"]=> string(5) "admin" } }
if($user){
  $result='0';
   
}else{
   $result='-1';
  
}

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>

</code>

php gibt JSON-Daten zurück, wenn sie

enthalten
<code>$user=$db->get_results($sql);  </code>

Diese Ajax-Codezeile gibt einen Fehler zurück.

Wenn diese Codezeile entfernt wird, ist das Ajax-Ergebnis ein Erfolg.
Diese Codezeile ist kein Problem. Ich habe die zurückgegebenen Daten gedruckt und das kommentierte Array wird ausgedruckt Servercode mit Ajax, ich kann den Code direkt beim Absenden des Formulars testen.

Der HTML-Code lautet wie folgt:

<code><!DOCTYPE html>
<html lang="zh-CN">

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="">
        <meta name="author" content="">
        <link rel="icon" href="../media/image/favicon.ico">
        <title>英方I2Active</title>
        <!-- Bootstrap core CSS -->
        <link href="../media/bootstrap/css/bootstrap.min.css" rel="stylesheet">
        <!-- Custom styles for this template -->
        <link href="../media/css/login.css" rel="stylesheet">
        <script type="text/javascript" src="../media/js/jquery-1.9.1.js"></script>
    </head>

    <body>
        <div class="container">
            <form class="form-signin" role="form" action="">
                <img src="../media/image/logo.png" />
                <h2 class="form-signin-heading">I2Active登录</h2>
                <input  id="username" type="text" class="form-control" placeholder="User name" required autofocus >
                <input id="password" type="password" class="form-control" placeholder="Password" required>
                <div class="checkbox">
                    <label>
                        <input type="checkbox" value="remember-me"> 记住密码
                    </label>
                </div>
                <button id="login" class="btn btn-lg btn-primary btn-block" >登录</button>
            </form>
        </div>
        <!-- /container -->
        <script type="text/javascript">  
            
            $("#login").click(function () {
                var username = $("#username").val();
                var password = $("#password").val();
                if(username&&password){
                    $.ajax({
                        url: '../controller/login2.php', // 跳转到 action  
                        data: {
                            'username': username,
                            'password': password
                        },
                        type: 'post',
                        cache: false,
                        dataType: 'json',
                        success: function (data) {
                            alert('ajax success');
                        },
                        error: function () {
                          alert('ajax error');
                        }
                    })
                }
            });
        
        </script>
    </body>

</html></code>

Antwortinhalt:

<code><?php
// Include ezSQL core
include_once('../include/ez_sql_core.php');

// Include ezSQL database specific component
include_once('../include/ez_sql_postgresql.php');
$username='';
$password='';
$result='';
if(!empty($_POST)){
    $username = $_POST["username"];
    $password = $_POST["password"];
}else{
    
}

$db = new ezSQL_postgresql('i2soft', 'i2s@Shanghai', 'sdata', '127.0.0.1');


///$user = $db->query("select id from user2 where name = 'admin' and password ='admin'");
//$user_details = $db->get_row(null, OBJECT, 0);
//var_dump($user_details) ;

$sql = sprintf("select * from user2 where name='%s' and password='%s'",$username,$password);
//echo $sql;
//select * from user2 where name='admin' and password='admin'
$user=$db->get_results($sql);

//var_dump($user);
//array(1) { [0]=> object(stdClass)#5 (3) { ["id"]=> string(1) "1" ["name"]=> string(5) "admin" ["password"]=> string(5) "admin" } }
if($user){
  $result='0';
   
}else{
   $result='-1';
  
}

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>

</code>

php gibt JSON-Daten zurück, wenn sie

enthalten
<code>$user=$db->get_results($sql);  </code>

Diese Ajax-Codezeile gibt einen Fehler zurück.

Wenn diese Codezeile entfernt wird, ist das Ajax-Ergebnis ein Erfolg.
Diese Codezeile ist kein Problem. Ich habe die zurückgegebenen Daten gedruckt und das kommentierte Array wird ausgedruckt Servercode mit Ajax, ich kann den Code direkt beim Absenden des Formulars testen.

Der HTML-Code lautet wie folgt:

<code><!DOCTYPE html>
<html lang="zh-CN">

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="">
        <meta name="author" content="">
        <link rel="icon" href="../media/image/favicon.ico">
        <title>英方I2Active</title>
        <!-- Bootstrap core CSS -->
        <link href="../media/bootstrap/css/bootstrap.min.css" rel="stylesheet">
        <!-- Custom styles for this template -->
        <link href="../media/css/login.css" rel="stylesheet">
        <script type="text/javascript" src="../media/js/jquery-1.9.1.js"></script>
    </head>

    <body>
        <div class="container">
            <form class="form-signin" role="form" action="">
                <img src="../media/image/logo.png" />
                <h2 class="form-signin-heading">I2Active登录</h2>
                <input  id="username" type="text" class="form-control" placeholder="User name" required autofocus >
                <input id="password" type="password" class="form-control" placeholder="Password" required>
                <div class="checkbox">
                    <label>
                        <input type="checkbox" value="remember-me"> 记住密码
                    </label>
                </div>
                <button id="login" class="btn btn-lg btn-primary btn-block" >登录</button>
            </form>
        </div>
        <!-- /container -->
        <script type="text/javascript">  
            
            $("#login").click(function () {
                var username = $("#username").val();
                var password = $("#password").val();
                if(username&&password){
                    $.ajax({
                        url: '../controller/login2.php', // 跳转到 action  
                        data: {
                            'username': username,
                            'password': password
                        },
                        type: 'post',
                        cache: false,
                        dataType: 'json',
                        success: function (data) {
                            alert('ajax success');
                        },
                        error: function () {
                          alert('ajax error');
                        }
                    })
                }
            });
        
        </script>
    </body>

</html></code>

Es ist ein SQL-Ausführungsfehler aufgetreten, PHP hat einen Fehler ausgegeben. Es wird empfohlen, direkt über einen Webbrowser darauf zuzugreifen, um die Ursache zu ermitteln

Sehen Sie sich den Code der ezSQL_postgresql-Klasse an

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Mit Ajax löschen auswählen?Nächster Artikel:Mit Ajax löschen auswählen?