【问题标题】:How to get url of GET response in AngularJS如何在AngularJS中获取GET响应的url
【发布时间】:2016-02-03 08:22:31
【问题描述】:

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

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

【问题讨论】:

  • 使用像callback({url: url, res: response});这样的包装器
  • url 值从 $http.get() 获取响应值并且 res 未定义 @dendavis

标签: javascript angularjs get ionic-framework response


【解决方案1】:
<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;
    }

}

【讨论】:

  • 这没有帮助:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 1970-01-01
  • 2022-08-11
  • 2012-04-11
  • 2015-11-20
  • 1970-01-01
相关资源
最近更新 更多