2017-01-30 4 views
0

私はJavaScriptの専門家ではなく、しばらくの間次のように苦労しています。私は誰かが私を導くことができるといいですMVCアクション結果からJavascriptリダイレクトがドメインを追加し続ける

私は私のsite.jsでこの

<a href="@Url.Action("MyAction", "Home", new { name = "Test" })" class="myClick"> 
    <img alt="" src="@ViewBag.ImageUrl"> 
</a> 

のように私のMVCのウェブサイト上のアクションリンクを持っている私は、次いるファイル

$(".myClick").on("click", function() { 
    $.ajax({ 
     url: this.href, 
     type: this.method, 
     success: function (result) { 
      window.open(result.Url, '_blank'); 
     } 
    }); 
}); 

私のコントローラのアクションを取得し、I可能化するJsonResultオブジェクトを返します。私のjavascript関数に返されるURLを取得しますか?問題はwindoe.openが[myDomain]/[returnedUrl]でオープンし続けることです

私はここで間違っていますか?

+2

結果URLが完全なURL( 'http:// some.domain/whatever')でない場合、ブラウザは現在のドメインを使用することを意味することを理解しています。 – Pointy

+0

あなたはデフォルトのリダイレクトをキャンセルしません。 '$ .ajax(){...});'の後に 'return false;'を追加してください。 –

+0

私はたぶん 'e.preventDefault()'も使用します。しかし、イベントハンドラ関数に 'e'パラメータを追加する必要があります。 – rossipedia

答えて

0

あなたのURLを絶対URL(http://www.my.site.com)にしてください。そうしないと、ブラウザはあなたのURLを現在のドメインに自動的に解釈します。

関連する問題