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

如何从MVC4链接调用Javascript方法(错误Javascript运行时错误:对象不支持此操作),javascript,jquery,Javascript,Jquery,我有一个javascript代码,它应该在点击查看页面上的链接后启动,但是显示了错误。怎么了? 错误是:' 0x800a01bd-JavaScript运行时错误:对象不支持此操作' Javascript代码: var MenuController = function () { }; MenuController.prototype.Logout = function () { $.ajax({ type: "GET", url: '/Acco

我有一个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代码:

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

...

您缺少用于构造MenuController的括号<代码>新建MenuController.Logout()应该变成
new MenuController().Logout()

您缺少用于构造MenuController的括号<代码>新建MenuController.Logout()应该变成
new MenuController().Logout()

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

这通常是错误的

要么:

var MenuController = function () {    
};

MenuController.prototype.Logout = function () {

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

};
调用:

new MenuController().Logout();
MenuController.Logout();
或者将其作为静态函数保存:

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

new MenuController().Logout();
MenuController.Logout();
我希望这有帮助


Rhys

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

这通常是错误的

要么:

var MenuController = function () {    
};

MenuController.prototype.Logout = function () {

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

};
调用:

new MenuController().Logout();
MenuController.Logout();
或者将其作为静态函数保存:

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

new MenuController().Logout();
MenuController.Logout();
我希望这有帮助


Rhys

此错误发生在哪一行?1)我将带有脚本元素的行添加到示例中,2)错误与代码
new MenuController.Logout()一致,此错误发生在哪一行?1)我将带有脚本元素的行添加到示例中,2)错误与代码
new MenuController.Logout()一致