0
angularjsの$ httpでxhr.responseURLにアクセスする方法はありますか?
MDNには、raw xhrの処理方法が記載されています。しかし、私はangularjsとxhrオブジェクトにアクセスするための解決策を見つけることができませんでした。
angularjsの$ httpでxhr.responseURLにアクセスする方法はありますか?
MDNには、raw xhrの処理方法が記載されています。しかし、私はangularjsとxhrオブジェクトにアクセスするための解決策を見つけることができませんでした。
$http.get(...)
.then(function(response){
//check response.status/headers/config/statusText
})
参照:私は$ xhrFactoryを変更することで、解決策を見つけたhttps://docs.angularjs.org/api/ng/service/ $ HTTP
angular.module('myApp', [])
.factory('$xhrFactory', ['$rootScope', ($rootScope) => {
return function createXhr(method, url) {
// configure the xhr object that will be used for $http requests
const xhr = new window.XMLHttpRequest({ mozSystem: true });
// attach an handler
xhr.onreadystatechange =() => {
if (xhr.readyState === XMLHttpRequest.DONE) {
/*
you can restrict local xhr calls
if (xhr.responseURL.startsWith('file://')) {
return;
}
*/
// broadcast xhr object to root scope
$rootScope.$broadcast('xhrDone', xhr);
}
};
return xhr;
};
}])
.controller('MyCtrl', ['$scope', ($scope) => {
$scope.$on('xhrDone', (event, xhr) => {
// here is the responseURL
console.log(xhr.responseURL);
});
}])
はこれを参照してくださいhttp://stackoverflow.com/questions/16532639/access-raw-xhr -object-using-http – GANI