2016-10-28 19 views
0

私はASP.Net Core OpenID Connectを使用してAzure AD B2CでID管理を実行するASP.NET Core APPを構築しています。クライアント側では、typescriptを使用してAngularjs 2を使用しています。私のログアウト機能は基本的にアカウントコントローラにリダイレクトします。エラー500クロムとIEのログアウト時

logout() { 
     window.location.href = "./Account/Logout"; 
    } 

多数決時間が、これは動作しますが、いくつかの未知の理由のため、ChromeとIEが無いヘッダの説明とエラー500が生じ、何も起こらなかったと、それは白いページになると、ユーザはまだ戻って戻るボタンを経由して移動することができます。

私はアイデアを実行しているとして、あなたが追加し忘れて、なぜ、なぜChromeのみ& IEで

おかげ

+0

てみ使用window.location.href =「http://www.yoursite.xxx/Account/ログアウト";すなわち、(window.location.href = "http:// localhost/Account/Logout") –

+0

ありがとうございます。なぜ私はそれに完全な道を持っている必要があるのか​​教えてください。 – alijohn

答えて

0

のよう助けてくださいDOMを検索し、

TypeError: Illegal invocation at Node.remoteFunction

次を発見しましたプロトコルのようにすることができます:

起動方法であなたの設定にパラメータを追加

var builder = new ConfigurationBuilder(); 
builder.AddInMemoryCollection(); 
var config = builder.Build(); 
config["baseURL"] = "yourbaseurl"; 

//can get like this 
var setting = config["baseURL"]; 

またはweb.configファイル

<appSettings> 
    <add key="BaseURL" value="http://localhost/" /> 
</appSettings> 

そして、あなたはそれを読むことができ、また

window.location.href ="<%=System.Configuration.ConfigurationManager.AppSettings["baseURL"].ToString()%>/Account/Logout"; 
+0

もう一度おねがいします - なぜこれが絶対パスでなければならないのですか、それはなぜ相対パスではありませんか? あまりにも多くの質問をして申し訳ありません - 私はこれが他のものと異なる理由を理解しようとしています – alijohn

関連する問題