在浏览器中从URL获取数据

时间:2011-05-27 16:01:11

标签: java android oauth

标题可能有点误导,所以我会尝试以最好的方式解释它。在我的Android应用程序中,我正在使用OAuth身份验证。有一次,我需要打开一个浏览器窗口,以便用户可以批准该应用程序。一旦他们批准,他们就会被转发到另一个带有一些地址参数的URL。我需要的是从其中一个参数中获取值并将其反馈回我的应用程序。

this Android & OAuth tutorial中的第三步和第四步描述了我正在寻找的内容,我只是不确定是否应该采用文章中描述的方式。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

要在浏览器中通过JavaScript获取网址参数,请尝试以下操作:

function getURLParameters() {
  var keyValuePairs = location.search.split(/[&?]/g);
  var params = {};
  for (var i = 0, n = keyValuePairs.length; i < n; ++i) {
    var keyValuePair = keyValuePairs[i];
    var eqIndex = keyValuePair.indexOf("=");
    if (eqIndex >= 0) {
      params[decodeURIComponent(keyValuePair.substring(0, eqIndex))]
        = decodeURIComponent(keyValuePair.substring(eqIndex + 1));
    }
  }
  return params;
}

如果指定了相同的URL参数(按名称)两次,那么它只会在输出中显示一次,但您可以更改此参数以返回类似对象的多图。