1

我正在做一个项目,我使用jQuery 终端作为函数的命令行界面。

我一直在尝试使用它内置的身份验证功能,但希望它调用 JavaScript 函数来获取身份验证而不是调用 PHP。

您是否碰巧有一个调用 JavaScript 身份验证函数而不是 PHP 函数的 JQuery 终端示例?

文档说:

您可以提供身份验证功能,当用户输入登录名和密码时将调用该功能。函数必须有 3 个参数,第一个是用户名,第二个是他的密码,第三个是回调函数,如果用户输入错误的用户名和密码,则必须使用令牌或 null 调用。

一直试图让它工作没有太多运气....

jQuery(document).ready(function($) 
{ 
    var userName = ""; 
    var password = ""; 

    $('#term_demo').terminal(
            test1(
                userName,
                password,
                callbackFunction1() {
                    alert("Your login is incorrect");
                },
                {
                    login: true, 
                    greetings: "You are authenticated"
                }
            );        
    }); 

function test1(name1, password1, callbackFunction1)
{ 
    if(name1 == "Derek") 
    { 
        return true; 
    } 
    else 
    {
        return false;
    } 
}

function callbackFunction1() 
{ 
    alert("Invalid user name and password"); 
} 

如果您有任何建议或简单的示例让我知道,请告诉我...

4

1 回答 1

2

的第一个参数.terminal(...)是 rpc-service ( string) 的 url,或者是包含要添加的命令的对象 ( object)。

使用的json-rpc实现不需要用php. 这些rpc定义只是为远程过程调用提供接口的标准化方式。

所以如果你不想使用rpc你会做这样的事情:

function test1(name, password, callback) 
{ 
    console.log("ok");

    if(name == "Derek") 
    {
        callback("some token");
    } 
    else 
    { 
        callback(false);
    } 
} 
jQuery(document).ready(function($) {
    $('body').terminal({}, {
        login: test1,
        greetings: "You are authenticated",
        onBlur: function() {
            // the height of the body is only 2 lines initialy
            return false;
        }
    });
});

callback需要调用传递给登录函数的 ,如果登录成功则传递令牌,否则传递令牌false

通常你会在服务器端进行身份验证,因为浏览器中的所有内容都没有保存。但是因为我不知道你想做什么,所以jquery.terminal我不能给你任何建议。

于 2013-07-05T20:42:42.890 回答