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

how to call Javascript method from MVC4 link (error JavaScript runtime error: Object doesn't support this action)

本文关键字:运行时错误 JavaScript 对象 不支持 操作 错误 MVC4 链接 调用 方法 Javascript      更新时间:2023-09-26

我有一个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();
        }
    });
};

网页代码:

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

你缺少构造 MenuController 的括号。 new MenuController.Logout();应该变得new MenuController().Logout();

你需要构造你的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();

我希望这有帮助,

里斯