Ich bin eine Anwendung mit dem folgenden Fluss Mein Controller wird die Ansicht aufrufen. In der Ansicht rufe ich eine js-Datei auf, die angularjs-Code mit einem Aufruf an den APIController hat.Nicht gefunden Fehler beim Aufruf von apicontroller aus angularjs Datei
Ich erhalte die folgende Fehlermeldung:
Request URL:http://localhost:52096/api/EVerify/GetEmployeeList
Request Method:POST
Status Code:404 Not Found
Was bin ich fehlt oder falsch zu machen.
Controller:
using System.Web.Mvc;
namespace MVC.EVerify.Controllers
{
[Authorize]
public class EVerifyController : Controller
{
#region Methods
#region ListEVerify
public ActionResult ListEVerify()
{
if (Request.IsAjaxRequest()) return PartialView();
return View();
}
#endregion
}
Ausblick:
In dieser Ansicht auf einen Klick ich zusammen mit Javascript-Datei eine andere Ansicht bin Laden, die EverifyModule.js
<table>
<tbody>
<tr ng-repeat="emp in EmployeeInfo">
<td>{{emp.name}}</td>
<td>{{emp.hireDate}}</td>
<td><a class="btn-sm btn-primary pull-right" href="javascript:void(0)" onclick="LoadViewSelected('/EVerify/EVerify/EVerifySubmit', 'EVerifyModule', 'E-VerifySubmit');">E-Verify</a></td>
</tr>
</tbody>
</table>
genannt Winkelcode
EVerifyModule.js
var EVerifyModule = angular.module('EVerifyModule', ['angularFileUpload', 'ui.bootstrap', 'angularUtils.directives.dirPagination']);
EVerifyModule.factory('EVerifyModuleService', ['$http', '$window', function ($http, $window) {
return {
GetEmployeeList: function (companyId) {
return $http({
url: '/api/EVerify/GetEmployeeList',
method: 'POST',
data: companyId
});
}
};
}]);
EVerifyModule.controller('EVerifyController', ['$scope', '$http', '$compile', 'EVerifyModuleService', '$modal', '$timeout', function ($scope, $http, $compile, EVerifyModuleService, $modal, $timeout) {
EVerifyModuleService.GetEmployeeList(58).then(function (response) {
$scope.EmployeeInfo = response.data.Employees;
});
EVerifyAPIController:
namespace MVC.EVerify.Controllers
{
[RoutePrefix("api/EVerify")]
public class EVerifyAPIController : ApiController
{
#region GetEmployeeList
[HttpPost]
[Route("GetEmployeeList")]
public async Task<IHttpActionResult> GetEmployeeList(int CompanyId)
{
List<EmployeeBO> employees = new List<EmployeeBO>();
try
{
employees = await EmployeeBL.GetEmployeeList(CompanyId);
}
catch
{
employees = new List<EmployeeBO>();
}
return Ok(new { Employees = employees });
}
#endregion
}
}
versucht, einen Parameter übergibt noch bekomme ich 404-Fehler. – BumbleBee
Wenn ich dies mit einem API-Client teste, erhalte ich den folgenden Fehler: { "Nachricht": "Es wurde keine HTTP-Ressource gefunden, die mit der Anfrage-URI 'http: // localhost: 52096/api/EVerify/GetEmployeeList' übereinstimmt." "MessageDetail": "Es wurde keine Aktion auf dem Controller 'EVerifyAPI' gefunden, der der Anfrage entspricht." } – BumbleBee