如何从MVC4链接调用Javascript方法(错误JavaScript运行时错误:对象不支持此操作)

时间:2016-04-28 11:19:18

标签: javascript jquery

我有一个javascript代码,应该在点击视图页面上的链接后启动,但会显示错误。怎么了? 错误是:' 0x800a01bd - JavaScript运行时错误:对象不支持此操作'

Javascript代码:

var MenuController = function () {    
};

MenuController.prototype.Logout = function () {

    $.ajax({
        type: "GET",
        url: '/Account/Logout',
        success: function (response) {
            alert('log out');
            window.close();
        }
    });

};

HTML code:

<a onclick="new MenuController.Logout();" alt="Log out">Log out</a>
                            </li>
...
 <script src="/js/Controller/MenuController.js" type="text/javascript"></script>

2 个答案:

答案 0 :(得分:2)

您缺少括号来构造MenuController。 new MenuController.Logout();应该成为new MenuController().Logout();

答案 1 :(得分:1)

您需要构建MenuController对象。目前,您正在调用Logout,就像静态函数(不是原型方法)一样。

new MenuController.Logout()

一般都是错的。

或者:

var MenuController = function () {    
};

MenuController.prototype.Logout = function () {

    $.ajax({
        type: "GET",
        url: '/Account/Logout',
        success: function (response) {
            alert('log out');
            window.close();
        }
    });

};

调用:

new MenuController().Logout();

或将其保存为静态函数:

var MenuController = {
  Logout: function () {
    $.ajax({
        type: "GET",
        url: '/Account/Logout',
        success: function (response) {
            alert('log out');
            window.close();
        }
    });
  }
};

调用:

MenuController.Logout();

我希望这有帮助,

里斯