jQuery+php如何在数据对象中返回多个值

jQuery + php How do I return multiple values in my data object?

本文关键字:返回 对象 数据 jQuery+php      更新时间:2023-09-26

我有我的简单jquery&php注册/登录脚本正在工作。基本上,如果用户名和密码在数据库中,php就会返回true,而在我的javascript中,我有

我想把用户名传回我的javascript并保存在一个变量中,我该怎么做?

我想我可以在我的php:中做这样的事情

json_encode(array("boolean" => "true", "username" => '$username'));

但是我该如何在jQuery中处理它呢?

$('#login').click(function(e){
      $.get("login.php",{username: $("#username").val(), password: $("#password").val()},function(data){
         if(data == "true"){
            alert("Logged in");
            $('#logindiv').slideUp();
            $('#gamediv').show(); 
            $('#registerdiv').hide();
            $('#gameheader').html(userloggedin);
         }else{
            alert("Not Logged in");
         }
      });
});

编辑:login.php

if (isset($_GET['username'])&& isset($_GET['password'])) {
$username = $_GET['username'];
    $password = $_GET['password'];
$sql = mysql_query("SELECT * FROM members WHERE username='$username' AND password='$password'") or die(mysql_error()); 
       // Get member ID into a session variable
        $id = $row["id"];   
        session_register('id'); 
        $_SESSION['id'] = $id;
        // Get member username into a session variable
        $username = $row["username"];   
        session_register('username'); 
        $_SESSION['username'] = $username;
        $json = array("boolean" => "true", "username" => $username);
        echo(json_encode($json));
        //exit();
} else {
    echo "false";
}

main.html…

$('#login').click(function(e){
      $.getJSON("login.php",{username: $("#username").val(), password: $("#password").val()},function(data){
         if(data.username!==undefined){
            alert(data.username);
            $('#logindiv').slideUp();
            $('#gamediv').show(); 
            $('#registerdiv').hide();
            $('#gameheader').html(data['username']);
         }else{
         }
      });
});

用户名将在$.get:返回的数据对象中

 $.get('login.php',params, function(data){
     if(data){
         alert(data.username); // that's the value from php
     }
 }

你可以对这个值做很多检查:

    ... 
    if(data.username) // username isn't empty string, null, undefined
    if(data.username!==undefined) // if you got it at all 

使用.getJSON():http://api.jquery.com/jQuery.getJSON/

然后只需使用

data.username