ich es geschafft, ein $ http.post zu skyscannerAPI senden: http://partners.api.skyscanner.net/apiservices/pricing/v1.0 Allerdings bekomme ich die POST http://partners.api.skyscanner.net/apiservices/pricing/v1.0 405 (Method Not Allowed)
, ich durchsuchte Info jemand sagte, es vielleicht ist darauf zurückzuführen, ich bin mit Chrome, also habe ich die Erweiterung Allow-Control-Allow-Origin installiert, aber es zeigt immer noch den Fehler. Die vollständige Fehlermeldung zeigt, dass wie folgt aus:Angular Ionic POST 405 (Methode nicht erlaubt), mit Chrome
POST http://partners.api.skyscanner.net/apiservices/pricing/v1.0 405 (Method Not Allowed)
(anonymous) @ ionic.bundle.js:25005
sendReq @ ionic.bundle.js:24798
serverRequest @ ionic.bundle.js:24508
processQueue @ ionic.bundle.js:29132
(anonymous) @ ionic.bundle.js:29148
$eval @ ionic.bundle.js:30400
$digest @ ionic.bundle.js:30216
$apply @ ionic.bundle.js:30508
(anonymous) @ ionic.bundle.js:65428
defaultHandlerWrapper @ ionic.bundle.js:16792
eventHandler @ ionic.bundle.js:16780
triggerMouseEvent @ ionic.bundle.js:2953
tapClick @ ionic.bundle.js:2942
tapTouchEnd @ ionic.bundle.js:3069
Die (anonym) @ ionic.bundle.js: 25005 wird folgender Code:
xhr.send(isUndefined(post) ? null : post);
Mein Code, wie folgend:
//service.js
.service('skyscanner',function($http){
var baseUrl= "http://partners.api.skyscanner.net/apiservices/pricing/v1.0";
var bodyInfo= {
body: {
apikey: My_API_KEY,
Country: "CA",
Currency: "CAD",
//more data......
}
};
this.getKey= function(){
var require_sessionkey= $http({
method:"POST",
url:baseUrl,
data: bodyInfo,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept' :'application/json'
}
})
.success(function successCallback() {
var polling={};
var session_key = require_sessionkey.headers["location"];
(function(){
polling=$http.get(session_key, {query: {apikey: My_API_KEY}});
})();
return polling;
}).error(function errorCallback() {
console.log("something gets wrong: "+ require_sessionkey);
});
};
})
//controller.js
.controller('FlightSearchCtrl',function($scope,skyscanner,FlightInfos){
$scope.list = [];
$scope.text = 'hello';
$scope.skyscannerPost= function(){
var polling=skyscanner.getKey();
$scope.polling=polling;
};
})