显示来自post jquery的json数据

时间:2014-12-22 13:07:42

标签: javascript php ajax json html5

您好我使用带有ajax的登录脚本,我想回调并显示我的数据 emailusernam将其存储在本地存储空间中。 我可以在json中获取数据,但我想在console.log中显示这些数据

这是我的代码

send_ajax.js

   $(document).ready(function(e) {
$("#contactSubmitButton").click(function(){
        var email    = $("#contactEmailField").val();
        var password = $("#contactNameField").val();

    $.ajax({
    type: "POST",
    url: "http://hubafrica.co/webservices/get_user.php",
    data: "email="+email+"&password="+password,
    dataType: "json",
    cache: false,

    beforeSend: function(){ $("#contactSubmitButton").val('Chargement...');},

    success: function(data) {
        alert(data);

        if(data)
        {

             iterateJson(data);
             var url="http://hubafrica.co/webservices/get_user.php";

                    $.get(url,function(data){

                    // loop through the members here

                    $.each(json.data,function(i,dat){

                        console.log(dat.email);

                        window.localStorage.setItem("id", dat.id);


                    });

                  });



        //window.location.href = "user_dashboard.html";

        }else{

            $("#formSuccessMessageWrap").fadeIn('slow');
            $("#contactSubmitButton").val('se connecter');



        }


    },
        error: function (xhr, ajaxOptions, thrownError) {


      }
      });
    });
});

的script.php

<?php 

header("Content-Type:application/json");

header('Access-Control-Allow-Origin: *');

include("../config/config.php");

$account=array();

if (isset($_POST["email"])){

                $email = htmlspecialchars($_POST["email"]);
                $pass =  htmlspecialchars($_POST["password"]);
                    $sql = mysql_query('SELECT * FROM `b2b_user` where email="'.$email.'" and password="'.$pass.'"');
                    $num = mysql_num_rows($sql);

                    if($num > 0){


                        $row = mysql_fetch_assoc($sql);
                        $account['id']  = $row['id'];
                        $account['email'] = $row['email'];
                        echo '{"members":'.json_encode($account).'}';

                    }

            }
?>

3 个答案:

答案 0 :(得分:1)

要从后端发送响应,您需要在json中格式化您的数据。一旦你得到回应,你需要parseJSON()和你可以菜单。

答案 1 :(得分:0)

在此处更改:使用data.members访问数据:

php 构造中,如下所示:不要附加字符串。

 $account1= array('members'=>$account);
 echo json_encode($account1);

<强>脚本:

$.each(data.members,function(i,dat){

                        console.log(dat.email);

                        window.localStorage.setItem("id", dat.id);


                    });

答案 2 :(得分:0)

您可以使用

 alert(JSON.stringify(data));

 Console.log(JSON.stringify(data));

以下代码行将对象/数组转换为JSON文本,并将该JSON文本存储在字符串中。

 JSON.stringify('/array variable here/')

希望它有所帮助。