2
我正在嘗試使用ASP.net webAPI編寫web應用程序,並使用IIS。這裏我試圖在管理頁面(http://localhost/Attendance/Home/Admin
)上啓動查看模型。獲取所有用戶的API位於路徑http://localhost/Attendance/user
。該網址從瀏覽器訪問時返回用戶。jquery getjson()ASP.Net WebAPI調用錯誤的URL
然而,當我從JavaScript
function adminuservm() {
//Properties
self = this;
self.users = ko.observableArray();
self.user = ko.observable();
self.userscount = ko.computed(function() {
if (self.users == null)
return 0;
else
return self.users.length;
}, this);
//Methods
//Get all users
self.getAllUsers = function() {
$.getJSON("api/user", function (data) {
})
.done(function (data) { //success
if(data != null)
self.users = $.map(data, function (u) { return new user(u) });
})
.fail(function (data) { //error
alert("error");
});
};
//call getAllUsers to populate all users
self.getAllUsers();
}
該方法的getJSON下面訪問沒有形成正確的URL,當我給網絡API資源realtive路徑因此我得到404錯誤。它所調用的URL是http://localhost/Attendance/Home/api/user
。 然後我試着把代碼放在http://localhost/Attendance/Home/Index
視圖上,它在那裏工作。
我不想在JavaScript中使用硬編碼的URL。有什麼出路嗎?
預先感謝您。
你說API url是'http:// localhost/Attendance/user'so你的getJSON url可能應該是'/ Attendance/user'。請嘗試一下,讓我們知道結果。 –
你使用MVC還是WebApi?您的網址是指MVC,但您的代碼是關於WebAPI的。所以我很困惑 – Dalorzo
@rober:哦,我很抱歉,它的錯誤在那裏。我的API網址是http:// localhost/Attendance/api/user – Mahesh