Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用VB.NET和AJAX调用.NET页面方法_Javascript_Ajax_Vb.net_Scriptmanager - Fatal编程技术网

Javascript 如何使用VB.NET和AJAX调用.NET页面方法

Javascript 如何使用VB.NET和AJAX调用.NET页面方法,javascript,ajax,vb.net,scriptmanager,Javascript,Ajax,Vb.net,Scriptmanager,在我的网页中,我有以下JavaScript function doLogin() { var u = document.getElementById('username').value; var p = document.getElementById('password').value; var result = PageMethods.Login(u, p, doLoginSuccess, doLoginFailed); }

在我的网页中,我有以下JavaScript

    function doLogin() {
        var u = document.getElementById('username').value;
        var p = document.getElementById('password').value;
        var result = PageMethods.Login(u, p, doLoginSuccess, doLoginFailed);
    }

    function doLoginSuccess(response, userContext, methodName) {
        alert('Login successful.');
    }

    function doLoginFailed(response, userContext, methodName) {
        alert('Login failed.')
    }
…和调用doLogin()方法的按钮:

登录
在codebheind中,我有以下vb.NET:

<System.Web.Services.WebMethod()>
Public Shared Function Login(Username As String, Password As String)
    If UserValidate(Username, Password) Then
        Return True
    Else
        Return False
    End If
End Function

公共共享函数登录(用户名为字符串,密码为字符串)
如果用户验证(用户名、密码),则
返回真值
其他的
返回错误
如果结束
端函数
在代码中,我可以看到我的.NET方法被调用并返回False(正如我的测试用例所预期的那样)。但是,doLoginFailed()Javascript方法不会执行。相反,页面只是重新加载,名称和密码的输入框被清除。我希望执行doLoginSucess()或doLoginSfailed()方法

我已经尝试让Login()方法只返回True,但行为没有改变

这是使用表单身份验证的web应用程序的登录页面(如果需要)


我遗漏了什么?

我非常确定webmethod只接受一次回调,因此您必须检查响应以确定成功或失败

function doLogin() {
    var u = document.getElementById('username').value;
    var p = document.getElementById('password').value;
    var result = PageMethods.Login(u, p, doLoginCallback);
}

function doLoginCallback(response, userContext, methodName) {
    if (response)
        alert('Login successful.');
    else
        alert('Login failed.');
}
function doLogin() {
    var u = document.getElementById('username').value;
    var p = document.getElementById('password').value;
    var result = PageMethods.Login(u, p, doLoginCallback);
}

function doLoginCallback(response, userContext, methodName) {
    if (response)
        alert('Login successful.');
    else
        alert('Login failed.');
}