Javascript、Php 处理程序、CommentBox

标签 javascript php

$("#login").click(function(){

    $.getJSON("handlers/Login.php?name="+$("#username").val(), function(data){
        console.log(data);  //get whatever i have in login box and sends to my handler returning the json array
    });
        template = $("#hidebody");
    if(!data['error']){
        template.show();
        //$("#greeting")
    }
    else
    {
        template.hide();
    }
    return false;
});

到目前为止,顶部部分有效,这意味着我在用户名框中输入的任何名称都会发送到我的处理程序login.php,当我执行console.log等控制台时,我从数据库中获取json数组这是有效的,现在我需要一些帮助编写一个 if 和 else 语句,其中评论框在用户登录后出现,隐藏用户框和密码框,并作为显示数据库中的人名的问候语句。

最佳答案

由于 Javascript 是一种异步语言,因此无法保证 $.getJSON 中的数据可用,除非通过回调传递或在 Promise 中返回。在下面的示例中,我将函数定义提取到它们自己的变量中,而不是内联定义它们,以帮助说明程序的流程。

// Define a login method which grabs data and passes it to a callback
var login = function (username, callback) {
    $.getJSON("handlers/Login.php?name=" + username, callback);
};

// Define a method which handles the response returned from the login URL
var handleResponse = function (data) {
    console.log(data);

    var template = $('#hidebody');

    if(!data['error']) {
        template.show();
    } else {
        template.hide();
    }
};

// Register the onClick event which calls the login method
$("#login").click(login($('#username').val(), handleResponse));

关于Javascript、Php 处理程序、CommentBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33812033/

相关文章:

javascript - Image source late binding - 摆脱同时显示的冗余错误图标

javascript - 返回多个值(多个选择)

java - 在 Java while 循环条件中分配变量?

php preg_split 按新行爆炸

javascript - ajax 中的服务器响应进入错误函数而不是成功

javascript - Laravel Uncaught ReferenceError webpackJsonp is not defined at app.js :1

javascript - Firebase onAuthStateChanged 和 Navigation Guards 的模式 - Quasar 应用

php - 使用 PHP/JAVA 从 MySql 数据库获取数据到 PDF 表单

php - 如何获取字段类型和值?

php - Doctrine- 按日期分组