【问题标题】:AngularJS get path valueAngularJS获取路径值
【发布时间】:2017-07-11 07:11:00
【问题描述】:

我需要通过从 URL 获取 id 来填充表单,而不使用 HTML5 模式。

我的网址是http://mydomain/public/keep-me-informed?id=19

我不想在 URL 中使用 #/?id=19。 在服务器端,我通过获取 id 参数并呈现页面来执行某些操作。当页面加载时,我需要获取 id 并调用一些服务来填充表单。

我没有任何路由。 $location.search() 仅适用于 # 或 HTML 5 模式。

我也可以有http://mydomain/public/keep-me-informed/19之类的网址

现在在我的控制器中获取值 19 的干净方法是什么。

【问题讨论】:

  • 请提供您所做的正确信息或代码示例。
  • 在控制器中:使用 window.location.href 和字符串 lastindexof('/') 获取当前 url,子字符串方法从 url 获取 id
  • @ArjunNayak 我认为这个问题不需要代码示例。因为我已经解释了我尝试过的内容,并且我尝试过从许多类似的帖子中寻找带有代码示例的解决方案,但所有这些对我来说都失败了,但正如其他人所建议的那样,似乎只有 javascript 才是解决方案。

标签: angularjs angular-routing url-parameters


【解决方案1】:

使用这个。

可以通过参数名获取id值,即id

function getParameterByName(name, url) {
    if (!url) url = window.location.href;
    name = name.replace(/[\[\]]/g, "\\$&");
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
    if (!results) return null;
    if (!results[2]) return '';
    return decodeURIComponent(results[2].replace(/\+/g, " "));
}

var id = getParameterByName('id');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-14
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多