在Windows 10通用应用程序中托管api问题

时间:2016-09-21 04:59:29

标签: javascript ajax api uwp

您好我已经创建了一个Windows通用应用程序,其中我使用的是在我的计算机的IP地址上托管的API。当我运行应用程序无论是从VS15还是从App包运行它都可以。但是,只要我使用应用程序包在另一台机器上运行此应用程序,它就无法运行。 同样,如果我在另一台机器的IP地址上托管相同的API,它将停止在我的机器上运行。 即使在这两种情况下,我都可以通过浏览器中的URL路径访问数据。 但是在手机上运行应用程序包工作正常。

SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete the operation due to error 00002efd.

显示此错误。

这是我的ajax调用示例:

var ajaxRequest = $.ajax({
            url: apiAddress + "Conversation/Welcome"
        });
        ajaxRequest.done(function (response, textStatus) {
            if (textStatus == 'success') {
                //success
            } else {
                //fail
            }
        });

我的webapiconfig.cs

public static void Register(HttpConfiguration config)
        {
            // Web API routes, configuration and services
            config.EnableCors();
            config.MapHttpAttributeRoutes();
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
            config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
        }

我已将[EnableCors(origins: "*", headers: "*", methods: "*")]放在课程上方。

请帮帮我。我做错了什么?

1 个答案:

答案 0 :(得分:0)

Manifest中不允许使用专用网络访问。只要我允许它工作正常。