> 백엔드 개발 > PHP 튜토리얼 > ajax-return value - json 데이터를 반환하는 PHP 데모는 다음과 같습니다. 이 문제의 원인은 무엇입니까?

ajax-return value - json 데이터를 반환하는 PHP 데모는 다음과 같습니다. 이 문제의 원인은 무엇입니까?

WBOY
풀어 주다: 2016-09-12 17:44:45
원래의
1014명이 탐색했습니다.

<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는

을 포함하는 경우 json 데이터를 반환합니다.
<code>$user=$db->get_results($sql);  </code>
로그인 후 복사
로그인 후 복사

이 코드 줄은 ajax에서 오류를 반환합니다.

이 코드 줄을 제거하면 ajax 결과는 성공입니다
이 코드 줄은 반환된 데이터를 인쇄했으며, 요청하지 않아도 주석 처리된 배열이 인쇄됩니다. Ajax를 사용하여 서버 코드를 사용하면 양식을 제출할 때 코드를 직접 테스트할 수 있습니다.

html 코드는 다음과 같습니다.

<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>
로그인 후 복사
로그인 후 복사

답글 내용:

<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는

을 포함하는 경우 json 데이터를 반환합니다.
<code>$user=$db->get_results($sql);  </code>
로그인 후 복사
로그인 후 복사

이 코드 줄은 ajax에서 오류를 반환합니다.

이 코드 줄을 제거하면 ajax 결과는 성공입니다
이 코드 줄은 반환된 데이터를 인쇄했으며, 요청하지 않아도 주석 처리된 배열이 인쇄됩니다. Ajax를 사용하여 서버 코드를 사용하면 양식을 제출할 때 코드를 직접 테스트할 수 있습니다.

html 코드는 다음과 같습니다.

<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>
로그인 후 복사
로그인 후 복사

SQL 실행 오류가 발생했습니다. PHP에서 오류가 발생했습니다. 원인을 확인하려면 웹 브라우저를 사용하여 직접 접속하는 것이 좋습니다

ezSQL_postgresql 클래스의 코드를 살펴보세요

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿