应用程序和Web.api在不同的项目中ajax URI生成插入应用程序的端口号而不是web.api

时间:2013-03-18 13:13:45

标签: visual-studio web

我在使用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托管在另一个端口上。

1 个答案:

答案 0 :(得分:0)