我有一个像http://localhost/phpdemo/edit_data.php?edt_id=1
这样的网址。在这里,我需要查询字符串值1
。通过使用Angular.js,我在浏览器的控制台中获得以下输出。
id is : Object {}
我的代码如下。
update.js:
var app=angular.module("edit_data", []);
app.controller("updateController",function($scope,$http,$location){
$scope.errors = [];
$scope.msgs = [];
var id=$location.search();
console.log("id is :",id);
$http.get('js/edit.php',{"user_id":$location.hash()}).success(function(response){
console.log('response',response);
});
$scope.update_data=function(){
$http.post('js/update.php',{"first_name":$scope.first_name,"last_name":$scope.last_name,"city":$scope.city}
).success(function(data, status, headers, config){
if(data.msg!=''){
$scope.msgs.push(data.msg);
}else{
$scope.errors.push(data.error);
}
}).error(function(data, status) { // called asynchronously if an error occurs
// or server returns response with an error status.
$scope.errors.push(status);
});
}
});
请帮我解决此问题。
答案 0 :(得分:0)
这个$location.search();
返回一个数组,所以
console.log("id is :",id[0]);
你能尝试一下吗?
更新:
$location.search()['edt_id']
必须返回值1
答案 1 :(得分:0)
$ location.search()将返回键值对的对象,与查询字符串相同的对。没有值的键只是作为true存储在对象中。在这种情况下,对象将是:
var id=$location.search().edt_id;
位置服务搜索Little Brief
搜索(search,[paramValue]); 这个方法是getter / setter。
在没有任何参数的情况下调用时返回当前url的搜索部分(作为对象)。
使用参数调用时更改搜索部分并返回$ location。
// given url http://example.com/#/some/path?foo=bar&baz=xoxo
var searchObject = $location.search();
// => {foo: 'bar', baz: 'xoxo'}
// set foo to 'yipee'
$location.search('foo', 'yipee');
// $location.search() => {foo: 'yipee', baz: 'xoxo'}