2016-04-28 31 views
0

我有一個JavaScript代碼,應該在點擊查看頁面上的鏈接後啓動,但會顯示錯誤。哪裏不對? 錯誤是: ' 0x800a01bd - JavaScript的運行時錯誤:對象不支持此操作'如何從MVC4鏈接調用Javascript方法(錯誤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> 
+1

在哪一行確實發生這個錯誤? – Justinas

+0

1)我添加了腳本元素的行爲例,2)錯誤符合代碼'new MenuController.Logout()' –

回答

2

你缺少括號構造MenuController。 new MenuController.Logout();應該變成new MenuController().Logout();

+0

謝謝,它工作:) –

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(); 

我希望這有助於

里斯

相關問題