Javascript 访问URL参数-PHP&;角JS
所以我的网站后端是PHP,前端是AngularJS。奇怪的是,我发现我必须在前端使用PHP来实现一些事情,比如获取URL参数。下文解释 例如,给定以下URLJavascript 访问URL参数-PHP&;角JS,javascript,php,angularjs,Javascript,Php,Angularjs,所以我的网站后端是PHP,前端是AngularJS。奇怪的是,我发现我必须在前端使用PHP来实现一些事情,比如获取URL参数。下文解释 例如,给定以下URL http://www.test.co.uk/search-menu/1/cinamon-soho http://www.test.co.uk/search-restaurant?location=asokoro&day=today&time=1100 我在同一页中的角度代码需要参数位置、日期等。 现在我必须用下面的线把它们
http://www.test.co.uk/search-menu/1/cinamon-soho
http://www.test.co.uk/search-restaurant?location=asokoro&day=today&time=1100
我在同一页中的角度代码需要参数位置、日期等。
现在我必须用下面的线把它们传给我
$scope.l = <?php echo json_encode($_GET['location']); ?>;
$scope.l=;
我的问题是,
FYI
该网站不是使用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());
在fiddle上查看。我得到的代码运行良好:
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;
}
(来源:)
然后,您可以像PHP
$\u GET
一样使用它,但要使用括号而不是括号。如果您使用angular,则可以使用$routeParams从URL中提取值
您可以使用
窗口。位置?如果可以,为什么不。。。如何使用它?使用$location.search
方法。看
像这样一个已经变得非常漂亮的URL怎么样http://www.test.co.uk/search-menu/1/cinamon-soho
。。。我需要提取1
或cinamon soho
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;
}