【发布时间】:2015-09-30 13:32:14
【问题描述】:
这里是 Angular 的新手。我来自PHP和ASP背景,我们读取参数的方式是这样的:
<html>
<head>
<script type="text/javascript">
var foo = <?php echo $_GET['foo']; ?>;
var bar = <?php echo $_GET['bar']; ?>;
$(document).ready(function() {
alert('Foo is: ' + foo + ' and bar is: ' + bar);
});
</script>
<head>
(这不是完整的代码,但你明白了——很简单)
我以前从未做过“客户端”查询解析。什么是正确的方法?我过去发布了一个问题,但我没有得到任何答案。谷歌搜索也无济于事。
我的网址通常采用以下形式:example.com?foo=123&bar=456
现在不支持上述语法吗?我应该这样做:example.com/foo/123/bar/345 代替吗?
我愿意将我的 URL 结构更改为与 Angular 完全兼容的东西,但需要指出正确的方向。例如,我听说过 ngRoute,但我什至不知道从哪里开始。这是正确的方法吗?
我过去曾发布过一个问题,但没有得到太多帮助,因此我重新发布此问题并提供更多信息,以便更清楚。
感谢您的任何指点。
编辑 - 使用 $location
注意,我尝试过使用 $location,但这对我来说并不成功。见以下代码:
angular.module('myApp')
.controller('MyController', ['$location', MyController]);
function MyController($location) {
var params = $location.search();
alert('foo is: ' + params.foo + ' and bar is: ' + params.bar);
}
注意:我已经阅读了一些关于设置 $locationProvider.html5Mode(true) 以使这种查询解析方式起作用的内容;但是,我也没有成功。
【问题讨论】:
-
使用 $routeParams docs.angularjs.org/api/ngRoute/service/$routeParams
-
@Johan 这需要引用 ngRoute 并且 OP 从未说过他们正在使用 ngRoute。
-
他也没说他没用..
标签: javascript angularjs