2016-04-28 4 views
0

ビューページのリンクをクリックして開始する必要があるJavaScriptコードがありますが、エラーが表示されます。なにが問題ですか? ' - :オブジェクトはこのアクションをサポートしていませんJavaScriptのランタイムエラー 0x800a01bd:'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)スクリプト要素を含む行をexampleに追加しました。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(); 
私はこれが役に立てば幸い

リス

関連する問題