Относительный путь AJAX, независимый от уровня приложения на веб-сервере - PullRequest
0 голосов
/ 15 апреля 2009

У меня есть код javacsript, похожий на приведенный ниже. Обратите внимание, как он выполняет ajax-вызов «/ ContollerName / ActionName» с некоторыми параметрами. Это прекрасно работает, если приложение развернуто в корне сайта в IIS. Но если я разверну его в виртуальном каталоге, путь полностью укажет обратно в корень сайта, и он потерпит неудачу.

$.get("/ControllerName/ActionName", { foo: _bar, foo2: $(titleRow).attr("id"),
            Direction: direction
        }, function(data, success) {
            if (eval(data).Result == _successEnum) {
                successfulCallback();
            } else {
                failCallback(errorMessage, eval(data).LogPath);
            }

        }, "json");

Как сделать так, чтобы его можно было развернуть как на корневом уровне сайта, так и в виртуальном каталоге.

Оба приведенных ниже должны в основном работать. Я использую ASP.NET MVC.

1 Ответ

1 голос
/ 15 апреля 2009

Используйте Url.Action в качестве первого параметра.

// link to a controller 
Url.Action("Home");
// link to an action 
Url.Action("Home", "Index");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...