如何外部化我的注销功能?

时间:2018-12-09 16:53:25

标签: javascript ajax

我正在构建一个登录门户,门户所在的容器将被清除并用ajax重新填充。我的测试页如下所示:

<input type="button" id="logoutButton" onClick="Logout()" value="Logout"/>
<form id="loginForm">
    Username: <input type="text" id="username"><br>
    Password: <input type="password" id="password"><br>
    <button type="submit">Login</button>
    Login status: <div id="loginStatus">No login submitted</div>
    Logout status: <div id="logoutStatus">No logout atttempted</div>
    <br><br>
    <button type="submit">Login</button>
</form>
<script src="javascripts/logout.js"></script>

这是logout.js:

    function Logout() 
        {
        var logoutRequest = $.ajax(
            {
            url: "/api/LogOut",
            method: "POST",
            dataType: "json"
            }
        }

        logoutRequest.done(function( response ) 
        {
            $('#logoutStatus').text('Error: ' + response.error + ', Message: ' + response.message);
        });

        logoutRequest.fail(function( jqXHR, textStatus ) 
        {
            alert( "Request failed: " + textStatus );
        });
    });

我以前在内部(连同登录脚本一起)使用此功能,但是在外部调用它的语法时,我并不清楚。我花了整个上午在网上查看各种示例,但是我发现的大多数示例仅与基本字符串有关。

如何使Logout()在html主页之外工作?

1 个答案:

答案 0 :(得分:0)

html中的script标签有效。看来您的括号是错误的。试试这个。

function Logout() {
    var logoutRequest = $.ajax({
        url: "/api/LogOut",
        method: "POST",
        dataType: "json"
    });

    logoutRequest.done(function( response ) {
        $('#logoutStatus').text('Error: ' + response.error + ', Message: ' + response.message);
    });

    logoutRequest.fail(function( jqXHR, textStatus ) {
        alert( "Request failed: " + textStatus );
    });
}