Я вызываю метод web api из контроллера angularjs следующим образом.Почему веб-api-вызов возвращает html-страницу после развертывания iis
$http.get('../api/Home/AppLogin').then(function (response) {
alert(response.data);
, function (error) {
alert('Error: ' + error.message);
})
Я использую angularJs маршрутизации следующим образом:
var cioTrack = angular.module('CIOTrack', ['ngRoute', 'ngSanitize']);
//Define Routing for the application
cioTrack.config(
function ($routeProvider, $locationProvider) {
$locationProvider.hashPrefix('');
$routeProvider.
when('/', {
templateUrl: 'Index.html',
controller: 'IndexController'
}).
when('/Notify', {
templateUrl: 'Views/Notify.html',
controller: 'NotifyController'
}).
when('/Report', {
templateUrl: 'Views/Report.html',
controller: 'ReportController'
})
$locationProvider.html5Mode(true);
});
В конфигурации я следующие правила:
<rewrite>
<rules>
<rule name="rewriteRule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
Web-метод контроллера апи:
[Route("api/Home/AppLogin")]
[HttpGet]
public string AppLogin()
{
return "some string";
}
Это работаю нормально, когда я бегу от vi студия суала. но api call возвращает полный html после развертывания кода на веб-сервере (IIS).
выход функции успеха, если я бегу из Visual Studio: Я получаю предупреждение строку «некоторые строки»
выход функции успеха, если я бегу после развертывания на веб-сервере IIS, я получить полную страницу HTML в виде сообщения.
Версия IIS - 7,5 У меня установлен URL-адрес перезаписи на веб-сервере IIS.
Пожалуйста, расскажите мне, в чем проблема?