Simple angularJS fonction GET avec localhost ne fonctionne pas
J'ai une question très simple au Repos du Ressort backend qui renvoie les données JSON. Le repos de l'URL est de travailler dans mon navigateur comme ceci:
http://localhost:8080/abc/runlist
Il renvoie des données comme suit:
[{"stock_num":"KOH19","damage":"Toronto (Oshawa)"},{"stock_num":"AZ235","damage":"Toronto (Oshawa)"},...
J'ai un indépendant page html qui ne fait pas partie de mon application web. Je veux juste tester pour voir si mon angulaire code est d'obtenir les données, puis en boucle à travers elle.
<!DOCTYPE html>
<html>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<ul>
<li ng-repeat="x in names">
{{ x }}
</li>
</ul>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("http://localhost:8080/abc/runlist")
.success(function (response) {$scope.names = response.records;});
});
</script>
yo yo
</body>
`
Pourquoi n'est-il pas de travail? Je suis tombé sur quelque chose de Printemps où vous en avez besoin pour mettre en œuvre quelque chose qui s'appelle de la SCRO. Je l'ai fait comme si, mais toujours rien retourné:
@Component
public class SimpleCORSFilter implements Filter {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain
chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS,
DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
chain.doFilter(req, res);
}
public void init(FilterConfig filterConfig) {}
public void destroy() {}
}
Vous devriez obtenir des données tout en accédant à
http://localhost:8080/abc/runlist
avec votre navigateur. Si les données sont retournées, il est de votre front-end, sinon backend. Qui est-il?Je reçois des données dans mon navigateur. C'est le front-end c'est la question. J'ai aussi essayé de dollars de ressources. il n'a pas l'interpréter angulaire entre parenthèses, juste des impressions hors verbatum: {{ x.stock_num }} yo yo
OriginalL'auteur logixplayer | 2015-05-26
Vous devez vous connecter pour publier un commentaire.
Essayez quelque chose comme:
js:
html:
plus params html:
Espère que j'ai été utile.
OriginalL'auteur AndreaM16
Essayez de mettre de retour devant votre $http.obtenir
alors, à votre avis, l'utilisation de la notation à points pour consulter les propriétés que vous souhaitez afficher par exemple
êtes-vous en mesure de la console.enregistrer les données dans votre réussite de rappel?
OriginalL'auteur Grant
Obtenu! Il y a eu 2 bugs:
Tout d'abord, j'ai eu à mettre en œuvre les CORS du filtre et de la classe afin de ne pas obtenir cette erreur:
D'autre part, un avertissement par exemple des copieurs! J'avais copié l'exemple simple ci-dessus à partir de W3Schools, un bon tutoriel site en tant que tel:
Note le .des enregistrements à la fin de la réponse. Ce n'était pas nécessaire. Quand je l'ai pris, ça a fonctionné.
OriginalL'auteur logixplayer
Plus que probablement, il est causé par votre utilisation de la
file://
régime. Voir le milieu de la balle sur la question ici pour le raisonnement. Fondamentalement, votre origine va être nul pourfile://
demandes, ce qui provoqueXmlHttpRequest
à l'échec, qui$http
repose sur.OriginalL'auteur Dave
essayez ceci:
espère que cela va fonctionner. 🙂
OriginalL'auteur manpreet singh bhinder