微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-访问URL参数-PHP和Angular JS

所以我的网站是用于后端的PHP和用于前端的AngularJS.很奇怪,我发现我必须在前端使用PHP才能实现某些功能,例如获取URL参数.以下说明;

以以下网址为例

http://www.test.co.uk/search-menu/1/cinamon-soho
http://www.test.co.uk/search-restaurant?location=asokoro&day=today&time=1100

我在同一页面中的Angular代码需要参数位置,日期等.
现在我必须使用下面的线将它们传递到

$scope.l = <?PHP echo json_encode($_GET['location']); ?>;

我的问题是;

>有没有一种方法可以仅使用Angular访问这些变量,这样我就可以摆脱PHP的困扰了?
>如果问题1可行,那么如果我决定将Angular代码从该页面移到我参考使用的专用.js页面,该怎么做?

< script src =“ http://www.test.co.uk/js/main.js”>< / script>

费耶

该网站不是使用AngularJS从头开始构建的.后来将Angular引入前端的繁重工作中,PHP在这样做,因此该网站不是SPA.没有适当的角度布线.

谢谢.

解决方法:

我将使用如下功能

function fetchGetvariables() {
  var loc = "http://www.test.co.uk/search-restaurant?location=asokoro&day=today&time=1100";
  // var loc = window.location.href; // Use this in actual use
  var result = {};

  var parts = loc.split("?");

  if (parts.length > 0) {
    var params = parts[1].split("&");

    for (var i = 0; i < params.length; i++) {
      var keyvaluePair = params[i].split("=");

      var key = keyvaluePair[0];
      var value = "";
      if (keyvaluePair.length > 0) {
        value = keyvaluePair[1];
      } 

      result[key] = value;
    }
  }

  return result;
}

console.log(fetchGetvariables());

这给出了输出

Object {location: "asokoro", day: "today", time: "1100"}

this小提琴上看到它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐