Javascript 405(不允许使用方法)当#使用WebApi从AngularJS中的URL中删除
我正在使用angular js和web api创建一个应用程序,当我运行该应用程序时,我会得到#in URL。为了从URL中删除#,我们需要在angular config中添加以下内容,几乎所有内容都建议添加:Javascript 405(不允许使用方法)当#使用WebApi从AngularJS中的URL中删除,javascript,asp.net,angularjs,asp.net-mvc-4,asp.net-web-api,Javascript,Asp.net,Angularjs,Asp.net Mvc 4,Asp.net Web Api,我正在使用angular js和web api创建一个应用程序,当我运行该应用程序时,我会得到#in URL。为了从URL中删除#,我们需要在angular config中添加以下内容,几乎所有内容都建议添加: $locationProvider.html5Mode(true); 所以我添加了这样的内容,如下所示 angular.module('myapp', ['ui.router']) .config(function (function ($stateProvider, $urlRo
$locationProvider.html5Mode(true);
所以我添加了这样的内容,如下所示
angular.module('myapp', ['ui.router'])
.config(function (function ($stateProvider, $urlRouterProvider, $locationProvider) {) {
stateProvider
.state('home', {
url: '/home',
controller: "homeController",
templateUrl: "/Modules/Views/home.html"
});
$urlRouterProvider.otherwise('/login');
$locationProvider.html5Mode(true);
});
然后我还在索引(master)文件中的head标记中添加了base标记,如下所示
<base href="/" />
当我这么做的时候,我得到了HTTP错误404.0-在我重新加载/刷新页面时找不到,然后我发现有人建议在web.config中添加以下代码
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
但是,当我删除web.config中添加的代码时,WebApi服务可以正常工作,但问题是,当我重新加载时,如果我删除web.config中添加的代码,会再次出现404错误
任何人都可以在这方面帮助我
感谢您在adv..中上传您试图点击的WebAPI中的方法。您要路由到的方法不接受HTTP/POST。我没有使用任何方法,我无法进入应用程序本身。正如我们所知,使用WebApitoken
我们获得了访问令牌,我在GrantResourceOwnerCredentials
方法中保留了断点,但它也没有达到该断点。下面是Startup.Auth.csTokenEndpointPath=new PathString(“/Token”)、Provider=new applicationAuthProvider(PublicClientId)、AuthorizeEndpointPath=new PathString(“/api/Account/ExternalLogin”)、AccessTokenExpireTimeSpan=TimeSpan.FromDays(14)中的代码
Ok,您正在使用ASP.Net标识。这是您的整个OAuth服务器选项配置吗?我看不出AllowInsueCreHTTP=true。你的请求没有使用SSL。是的,它也在那里。。我没有抄TokenEndpointPath=new PathString(“/Token”)、Provider=new ApplicationAuthProvider(PublicClientId)、AuthorizeEndpointPath=new PathString(“/api/Account/ExternalLogin”)、AccessTokenExpireTimeSpan=TimeSpan.FromDays(14),AllowInsecureHttp=true
尝试将
添加到url重写中。
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>