У меня есть веб-приложение ASP.NET MVC, работающее с http://localhost/myappname
.Из jQuery я делаю вызовы jQuery $ .ajax () для возврата частичных представлений, основанных на некоторых действиях пользователя.Я обычно вызываю это из представления того же контроллера, который содержит функцию, которую я вызываю через Ajax.Например, представление в моем контроллере Home имеет следующую функцию (которая работает хорошо):
function loadMyPartialView() {
$.ajax({
type: 'GET',
url: 'Home/GetNavigationTreePV/',
success: function (data) { onSuccess(data); },
error: function (errorData) { onError(errorData); }
});
return true;
}
Этот приведенный выше URL-адрес разрешается в http://localhost/myappname/Home/GetNavigationTreePV
, а частичное представление возвращается правильно.
Теперь я пытаюсь использовать qUint для модульного тестирования моих функций.В этом тестовом примере я просто хочу убедиться, что я дошел до конца функции и вернул true.Я создал QUNIT
контроллер и соответствующее представление (которое загружает мой файл JavaScript тестового модуля).Из файла test.js, в котором содержатся мои модульные тесты, я пытаюсь вызывать те же функции, что и в моих представлениях Home, как показано выше.Но, поскольку у меня сейчас не хватает контроллера QUNIT
, URL-адрес разрешается до http://localhost/myappname/qunit/Home/GetNavigationTreePV
.
Я попытался изменить URL-адрес моего запроса ajax на /Home/GetNavigationTreePV/
(с предыдущей косой чертой), но когда я это делаю, я получаю следующий URL http://localhost/myappname/Home/GetNavigationTreePV
.
Итак, чтобы было ясно, я пытаюсь написать свой ajax-запрос так, чтобы он всегда начинался с корня моего приложения MVC, а затем добавьте параметр url, указанный в моей функции $ .ajax ().
Есть ли простой способ сделать это?Я собираюсь сделать это странным образом?