访问 URL 参数 - PHP 和 Angular JS
Accessing URL parameters - 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 $_GET(param) {
var vars = {};
window.location.href.replace(
/[?&]+([^=&]+)=?([^&]*)?/gi, // regexp
function( m, key, value ) { // callback
vars[key] = value !== undefined ? value : '';
}
);
if ( param ) {
return vars[param] ? vars[param] : null;
}
return vars;
}
(来源:http://www.creativejuiz.fr/blog/javascript/recuperer-parametres-get-url-javascript(
然后你可以像 PHP $_GET
一样使用它,但用括号而不是括号
我会使用如下所示的函数
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"}
在这个小提琴上看到它。
如果您使用的是角度,则可以使用$routeParams从URL中提取值。
https://docs.angularjs.org/api/ngRoute/service/$routeParams#!
相关文章:
- Angular JS IE9 Hashbang url rewriting
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- angular.js没有'无法在PhoneGap中处理视图标记
- Angular js-返回一个包含类似
- 如何使用 Angular JS 将数据保存在数据库中
- 将Angular js与taglib结合使用
- Angular JS Filter-通过3个复选框进行筛选
- vaadin:使用自定义布局集成angular js
- angular js密码强度显示问题
- 使用angular.js问题的JavaSpringREST服务
- 将复杂对象从angular js传递到web api,它总是返回404
- entre上的angular js阻止提交
- 根据Angular.JS上一次的内容禁用选择
- 如何在angular js中使用指令.不适用于我的情况,为什么
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- angular.js:13424错误:[ng:areq]参数'fn'不是函数,getObject
- 使用Angular js-量角器e2e测试上传文件
- Angular.js延迟控制器初始化
- 如何在angular.js中动态应用自定义过滤器
- 谷歌地图/Angular JS:地图更新并不总是反映数据,并且可以't删除标记