繁体   English   中英

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

[英]How to get url of GET response in AngularJS

亲爱的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!");
    });
}

我已经用过这样的内置浏览器了

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();
    }
});

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

<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;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM