2011-12-07 185 views
4
$.ajax(
     { 
    type: "GET",      
    url: 'Home/GetMsg',     
    success: function (result) {  }, 
    error: function (req, status, error) {} 
    });  

既定では、ホーム/ GetMsgの相対パスを取るURL。私は異なるコントローラ/ビューからURLを妨害するこの関数を呼び出しています。 どうすれば絶対パスと相対パスをここに記述できますか? 「http://abc.com/Home/Getmsg」は再びJQuery Ajaxでの相対パスと絶対パス

答えて

8

使用を働いていないそのヘルパー:私は URLをしようとしたんでした

url: '@Url.Action("GetMsg", "Home")', 

またはこれは、別のJavaScriptファイルどこにありますかあなたは、HTML5を使用して、いくつかの既存のDOM要素上のURLを生成するためのヘルパーを使用することができ、サーバ側ヘルパーを使用することはできませんデータ - *属性:あなたのjsの中

<div id="foo" data-url="@Url.Action("GetMsg", "Home")">Foo</div> 

、その後:

url: $('#foo').data('url'), 
3

あなたはMVCを使用しているので、あなたはUrl.Actionヘルパーを探していることがあります。

@Url.Action("GetMsg","Home") 

をまた、あなたはJavascript内のパスを使用してしようとしているならば、隠された要素を使用するのは良い考えですパスを使用すると、外部からJavascriptを使用できます。例:

@Html.Hidden("GetMsgPath",Url.Action("GetMsg","Home")) 

$.ajax({ 
    type: "GET",      
    url: $("#GetMsgPath").val(),     
    success: function (result) {  }, 
    error: function (req, status, error) {} 
}); 
関連する問題