0

我的问题如下:

我正在为 jquery 移动应用程序创建登录名。我正在通过标准的 html 登录表单执行此操作。单击提交按钮后,我正在检查提供的用户名和密码是否正确。我通过使用 Ajax 和 json 来检查这一点。现在问题如下,如果我执行以下操作:

function authenticate(userName, password1) {

                    $.ajax
                    ({
                        type: "POST",
                        //the url where you want to sent the userName and password to
                        url: "http://notgiven",
                        dataType: 'json',
                        async: false,
                        //json object to sent to the authentication url
                        //data: {"username": "' + userName + '", "password" : "' + password + '"},
                     data: { username: "user1", password: "test1" },,
                        success: function (data) {
                            //do any process for successful authentication here
                            alert('Login status: ' + data.status);
                        }
                     })
                };

那我就成功了

但是,如果我想从我的字段中获取参数并执行此操作:

$(document).ready(function() {
                                  //event handler for submit button
                                  $("#btnSubmit").click(function () {
                                                        //collect userName and password entered by users
                                                        var userName = $("#username").val();
                                                        var password = $("#password").val();


                                                        });

                });


                function authenticate(userName, password1) {

                    $.ajax
                    ({
                        type: "POST",
                        //the url where you want to sent the userName and password to
                        url: "http://notgiven",
                        dataType: 'json',
                        async: false,
                        //json object to sent to the authentication url
                        //data: '{"username": "' + userName + '", "password" : "' + password + '"}',
                      data: '{username: userName, password: password1 }',
                        success: function (data) {
                            //do any process for successful authentication here
                            alert('Login status: ' + data.status);
                        }
                     })
                };

然后我失败了……有人知道为什么吗???

答案:*答案:*答案:*答案: *

我放了:authenticate(userName,password); 正如图马思特所说,进入点击功能。这样做是因为否则点击时的用户名和密码数据超出了安德鲁所说的范围。

我也把 return false; 在 .click 函数上,这样我就可以多次单击该按钮(并且仍然获得函数身份验证的结果)。

THNX

4

3 回答 3

2

你不是authenticate(..).click(..)事件中调用的。

$("#btnSubmit").click(function () {
    var userName = $("#username").val();
    var password = $("#password").val();
    authenticate(userName,password);
);

里面authenticate(..)应该是:

data: {username: userName, password: password1},
于 2012-08-06T12:28:50.277 回答
1

单击事件后,用户名和密码是否超出范围。或者我的关闭错误。

于 2012-08-06T12:36:44.910 回答
0

您没有使用用户名和密码的值:

data: '{username: userName, password: password1 }',

将其更改为:

data: {'username': userName, 'password': password1 },
于 2012-08-06T12:30:50.027 回答