Релатве и Абсолютный Путь в JQUERY Ajax - PullRequest
4 голосов
/ 08 декабря 2011
$.ajax(
      {
    type: "GET",                    
    url: 'Home/GetMsg',                 
    success: function (result) {        },
    error: function (req, status, error) {}
     });    

По умолчанию URL-адрес принимает относительный путь для Home / GetMsg.Я вызываю эту функцию из другого контроллера / представления, которые нарушают URL.Как я могу упомянуть абсолютный и относительный путь здесь.я попробовал с URL: 'http://abc.com/Home/Getmsg' но опять не работает

Ответы [ 2 ]

8 голосов
/ 08 декабря 2011

Используйте помощник:

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

или, если это отдельный файл javascript, где вы не можете использовать помощники на стороне сервера, вы можете использовать помощники для генерации URL-адреса для некоторого существующего элемента DOM, используя данные HTML5* атрибуты:

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

, а затем в вашем JS:

url: $('#foo').data('url'), 
3 голосов
/ 08 декабря 2011

Поскольку вы используете MVC, возможно, вы ищете Url.Action helper:

@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) {}
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...