如何在AngularJS中获取GET响应的URL

时间:2016-02-03 08:22:31

标签: javascript angularjs get ionic-framework response

亲爱的stackoverflow用户/角度绝地大师,我有点麻烦。 我需要获取GET响应的URL,但在26个多小时内无法找到如何执行此操作。

我正在使用的代码工作正常,我发送GET请求到服务器,而不是服务器响应302并发送给我200.现在我需要解析响应URL。我可以在chrome调试工具中看到url值,但是目前不知道如何执行此操作,没有inapp浏览器。响应中的标头和数据部分不包含所需的URL。

function get_code(credentials, callback) {
    data = {merge(credentials, {some_data_here}}
    $http.get(url, {params: data}).then(function(response) {
        callback(response);
    }, function(data) {
        console.log("Houston we have a problem!");
    });
}

我曾经使用像这样的inappbrowser

var ref = window.open(url);
ref.addEventListener('loadstart', function(event) {
    if(event.url.indexOf(constant_part_of_url_here) > -1) {
        code = (event.url).split("code=")[1];
        ref.close();
    }
});

但这个解决方案对我来说似乎并不完美。 谢谢。

1 个答案:

答案 0 :(得分:0)

<h3>Parse URL using AngularJS</h3>

url: <input type="text" ng-model="url" value="" style="width:780px;">

<ul>
    <li>href = {{parser.href}}</li>
    <li>protocol = {{parser.protocol}}</li>
    <li>host = {{parser.host}}</li>
    <li>hostname = {{parser.hostname}}</li>
    <li>port = {{parser.port}}</li>
    <li>pathname = {{parser.pathname}}</li>
    <li>hash = {{parser.hash}}</li>
    <li>search = {{parser.search}}</li>
</ul>

AngularJS控制器

function AppCtrl($scope) {

    $scope.$watch('url', function () {
        $scope.parser.href = $scope.url;
    });

    $scope.init = function () {
        $scope.parser = document.createElement('a');
        $scope.url = window.location;
    }

}