我在从 Application UI JQuery 一个 ASP.NET MVC 4 项目中解决我的 web.api 方法时遇到问题。
应用程序和 web.api 被分成不同的项目。这是一个架构约束,无法更改,因此请不要回答将两者放在一个项目中。
当我运行项目时,web.api 项目在一个端口上运行,应用程序在另一个端口上运行。
在对 web.api 操作方法的 ajax 调用中,ui 的端口被放置到 web.api 的 uri 中,因此永远不会调用 web.api 操作方法。
如何确保生成正确的 URI?
所以 UI 中的 JQuery 看起来像这样:
$.ajax({
"dataType": 'json',
"type": "GET",
"url": "api/products",
"success": function (data) {
$.each(data, function(i, item) {
var str = '<li>Product Id: ' + item.Id + ' Stock Code: ' + item.StockCode + '</li>';
$('#productId').append(str);
});
},
"error": function (data) {
$.each(data, function(i, item) {
var str = '<li>Product Id: ' + data[i].Id + ' Stock Code: ' + data[i].StockCode + '</li>';
$('#productId').append(str);
});
}
});
请求的 URI 如下所示:
http://localhost:50481/api/products
但 web.api 托管在另一个端口上。