6

ログインページのスクリプトがあり、ajaxを介してphpにデータを送信し、成功したかどうかにかかわらずphpが返されます。スクリプトを変更して、2つの変数も返送し、ログインjsスクリプトで受信できるようにするにはどうすればよいでしょうか。クッキーを作成しますか?これが私のjsとphpのスクリプトです:

js

$(document).on('pageinit',function(){
        $("#login").click(function(){

            username=$("#usr").val();
            password=$("#psw").val();
            $.ajax({
                type: "POST",
                url: "http://imes.***********.com/php/login_check.php",
                data: "name="+username+"&pwd="+password,
                success: function(html){
                    //in case of success
                    if(html=='true')
                    {
                        $("#login_message").html("Logged in, congratulation.");
                        $.mobile.changePage("http://imes.***********.com/userpanel.php");
                    }
                    //in case of error
                    else
                    {
                        $("#login_message").html("Wrong username or password");
                    }
                },
                beforeSend: function() { $.mobile.showPageLoadingMsg(); }, //Show spinner
                complete: function() { $.mobile.hidePageLoadingMsg() } //Hide spinner
            });
            return false;
        });    

php

<?php
session_start();
    $username = $_POST['name'];
    $password = $_POST['pwd'];
    include('mysql_connection.php');
    mysql_select_db("jzperson_imesUsers", $con);

    $res1 = mysql_query(
     "SELECT * FROM temp_login WHERE username='$username' AND password='$password'"
     );

    $num_row = mysql_num_rows($res1);
    if ($num_row == 1) {
        echo 'true';
    }
     else {
        echo 'false';
    }
?>
4

3 に答える 3

2

JSONを使用して、JSスクリプトに値を返すことができます。PHPコードで、次のようなものを返します。

{
    "result": true,
    "your_variable": "variable_value"
}

json_encode関数を使用できます。そして、JSでjQuery.parseJSON()を使用して解析します

于 2013-01-23T14:33:49.653 に答える
2

Json を応答として使用してみてください。

PHP側

...
$json = new Services_JSON();
echo $json->encode("{a:1,b:2}");

JS

...
 success:function(data){
            if(data)
            {
             console.log(data.a);
             console.log(data.b);
             }
  ....

PHP で任意の配列をエンコードし、ajax コールバックとして渡すことができます。

あなたがそこに着くことができるJsonクラス

于 2013-01-23T14:31:43.213 に答える
0

JSON形式の応答を使用して、PHPからJSに値を返すことができます(json_encode()PHP関数:http ://php.net/manual/en/function.json-encode.phpを参照してください)。

または、PHPのCookieに値を設定するだけです(http://php.net/manual/en/function.setcookie.php) 。

于 2013-01-23T14:33:24.477 に答える