javascript - 如何用 jquery 返回 php json 数组对象?

标签 javascript php jquery ajax json

你好,我有一个ajax表单提交,我想返回json数据。由于某种原因,它不能正常工作。当 data.error 返回时,它应该给我消息电子邮件不正确。其他回复也一样。我做错了什么?我的 php 有 json header ,数据类型也是 json。

  $(function() {

    $("form#login").on('submit', function(e){
    e.preventDefault();
            $.ajax({
            type: "POST",
            url: "log.php",
            data: $('form#login').serialize(),
            dataType:"json",
            success: function(data){

                    if(data.error == "yes")
                        {
                        $("#msg").html('Email is incorect.')
                        }
                    else if (data.mandatory == "yes")
                        {
                        $("#msg").html('please complete email and pass')
                        }
                        else if (data.tip =='user')
                        {

                   alert('it works'+ data.id);
                   }
                                   },

        error: function(){
            alert("failure");
            }
              });
    });
});

我的PHP

<?php
header('Content-Type: application/json');
session_start();
include ('core/dbconfig.php');  
$password=$_POST['password'];
$usernume=$_POST['email'];
$hash = hash('sha512', $password);

if ($password=='' or $usernume=='')
{
     $arr[] = array('mandatory'  => 'yes');
     echo json_encode($arr);
}


else
{
$stmt = $dbh->prepare("SELECT * FROM Users where Email=:username and Password= :hashed");   
                $stmt->bindParam(':username', $usernume);
                $stmt->bindParam(':hashed', $hash);
                $stmt->execute();
            if ($row = $stmt->fetch())
            {
                $_SESSION['id_user']=$row['ID_User'];
                 $arr[] = array(     
                'tip'  => 'user',
                'id'   => '3'     
                                );
                echo json_encode($arr);
            }

            else

            {   
                 $arr[] = array('error'  => 'yes',);
                echo json_encode($arr);
            }

}           
?>

最佳答案

$arr[] = 的所有 php 实例转换为 $arr =

关于javascript - 如何用 jquery 返回 php json 数组对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29416591/

相关文章:

javascript - Safari- show() 和 css ('display' ,'block' ) 不起作用

javascript - onClick 对子 <li> 使用react

javascript - php根据条件合并数组

javascript - 在加载页面上,在 div 中显示 PHP 文件,然后单击在同一 div 中显示其他 PHP 文件

jquery - Knockout.js - ko.mapping.fromJS - 可见绑定(bind)未更新

javascript - Jquery ID 选择器不工作

php - 回发后,jquery 不验证控件并允许提交

javascript - 将 html 写入元素的 JS 回调

javascript - 当 js 忙时 CSS 动画卡住

javascript - ajax 调用期间刷新页面正在破坏 php session