stiamo attualmente sviluppando un piccolo progetto AngularJS e partendo dal frontend, quindi puro HTML e JavaScript.chiamando api esterne con AngularJS e ngResource
Tuttavia, è necessario effettuare alcune chiamate API utilizzando ngResource. Al momento stiamo usando canned per deridere il valore restituito JSON.
dicono che questo restituisce un JSON:
GET http://ip-address/something/1.json
Voglio essere in grado di chiamare questo da ngResource:
app.controller('SomethingCtrl', function ($scope, $resource) {
Something = $resource("http://ip-address/something/:id", {id: "@id"});
$scope.something = Something.get({id:1});
});
Per qualche ragione questo non funziona, anche se il punto finale funziona correttamente. Angular richiede solo un'opzione a questo URL.
Questa è una sorta di protezione XSS e come posso risolverlo?
Aggiornamento: Aggiunta la IP-Address per esempio
EDIT:
Ho cambiato il server API finto, in modo che CORS è permesso.
ho tornare ora questa intestazione e la richiesta OPTIONS passa attraverso
Access-Control-Allow-Headers:X-Requested-With
Access-Control-Allow-Max-Age:86400
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, HEAD, OPTIONS
Access-Control-Allow-Origin:*
Ma ora, la richiesta GET viene cancellato (nessuna risposta viene restituita). Quindi suppongo che Angular faccia un qualche tipo di magia.
puoi guardare JSONP se l'API esterna supporta JSONP – Atrix1987
Il primo parametro a _ $ risorsa_ dovrebbe essere l'URL completo 'http: // indirizzo ip/qualcosa /: id.json' – remigio
La tua app angolare e la risorsa "in scatola" vengono eseguite sullo stesso dominio: porta? In caso contrario, quindi [Jquery: Perché sto ricevendo una richiesta OPTION di una richiesta GET?] (Http://stackoverflow.com/questions/1256593/jquery-why-am-i-getting-an-options-request- invece-di-un-get-richiesta). – Stewie