Ho una direttiva di base in una pagina di layout MVC 5 con una direttiva per la ricerca. Il mio problema è che il templateUrl non può essere caricato (400 errore). Se inserisco l'URL direttamente nel browser, posso caricare la pagina html senza difficoltà o errore. Non riesco a scoprire perché la chiamata AJAX per caricare la pagina stia fallendo.AngularJS Directive templateUrl restituisce 400 sebbene carichi URL del file
Chrome Debugger
Questo è il caricamento pagina HTML in Chrome
app.js
(function() {
var app = angular.module("mainApp");
app.directive("basicSearch", function() {
return {
templateUrl: 'app/directives/basic-search.html',
controller: function($scope, search) {
$scope.keyword = '';
$scope.exact = false;
$scope.submitSearch = function() {
search.searchByKeyword($scope.keyword, 0, $scope.exact);
}
}
}
});
}());
base-search.html
<div>
<input type="search" ng-model="keyword" name="keyword" />
<button type="submit" ng-click="submitSearch()"></button>
<input type="checkbox"ng-model="exact" name="exact" />
<label for="exact">Exact Match?</label>
</div>
_Layout.cshtml
<html>
<head>
<base href="@Request.ApplicationPath" />
<!--- JS & CS References -->
<title></title>
</head>
<body ng-app="mainApp">
<!-- Other stuff -->
<basic-search></basic-search>
<!-- More other stuff -->
@RenderBody()
</body>
</html>
EDIT Ecco la richiesta di successo (via browser):
e qui è quello che fallisce (tramite direttiva Angular):
Confronta le intestazioni in entrambi i casi, forse c'è una differenza. – dfsq
Il modello si trova in una cartella statica per essere servito? Se non riesci ad accedere al modello semplice tramite l'url nel tuo browser non puoi farlo anche io .... –
Posso accedervi. Vedi la sezione ** Carichi URL **. –