0

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

4

1 回答 1

0

答案似乎在跨域资源共享中。

https://developers.google.com/api-client-library/javascript/features/cors

于 2013-03-19T15:37:56.697 回答