2016-04-28 14 views
0

Ich habe einen JavaScript-Code, der nach dem Klicken auf den Link auf der Ansichtsseite gestartet werden sollte, aber der Fehler wird angezeigt. Was ist falsch? Fehler ist: ' 0x800a01bd - JavaScript-Laufzeitfehler: Objekt diese Aktion nicht unterstützt':wie JavaScript-Methode von MVC4-Link aufgerufen wird (Fehler JavaScript-Laufzeitfehler: Objekt unterstützt diese Aktion nicht)

var MenuController = function() {  
}; 

MenuController.prototype.Logout = function() { 

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

}; 

HTML-Code: die Klammern

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

In welcher Zeile tritt dieser Fehler? – Justinas

+0

1) Ich habe die Zeile mit dem Skriptelement zum Beispiel hinzugefügt, 2) der Fehler steht im Einklang mit dem Code 'new MenuController.Logout()' –

Antwort

2

Sie verpassen

Javascript-Code um den MenuController zu erstellen. new MenuController.Logout(); sollte new MenuController().Logout(); werden

+0

Danke, es funktioniert :) –

1

Sie müssen Ihr MenuController Objekt erstellen. Im Moment rufen Sie Logout wie eine statische Funktion (keine Prototyp-Methode).

new MenuController.Logout() 

Ist im Allgemeinen falsch.

entweder:

var MenuController = function() {  
}; 

MenuController.prototype.Logout = function() { 

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

}; 

Invoke mit:

new MenuController().Logout(); 

oder als statische Funktion halten:

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

Invoke mit:

MenuController.Logout(); 

Ich hoffe, das hilft,

Rhys

Verwandte Themen