我有一个从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 文件中,我尝试调用与我的主页视图中相同的函数,如上面的那个。但是,由于我现在用完了QUNIT
控制器,所以 url 被解析为http://localhost/myappname/qunit/Home/GetNavigationTreePV
.
我尝试将我的 ajax 请求的 url 更改为/Home/GetNavigationTreePV/
(使用前面的正斜杠),但是当我这样做时,我得到以下 url http://localhost/myappname/Home/GetNavigationTreePV
。
因此,需要明确的是,我试图以始终从 MVC 应用程序的根目录开始的方式编写我的 ajax 请求,然后附加我的 $.ajax() 函数中给出的 url 参数。
有没有简单的方法可以做到这一点?我会以一种奇怪的方式解决这个问题吗?