angularjs中未定义URL ID

时间:2014-10-22 12:39:26

标签: javascript php angularjs codeigniter

我有一个使用angularjs和codeigniter作为后端的应用程序。

在我的网址中,我有http://localhost/submit/12341234作为ID。

在我的angularjs中

var singlepost = angular.module('singlepost', []);


singlepost.controller('singlepostController',function($scope,$http){
     var getSinglePost = function(id){
        $http.get('/post/'+id).success(function(data){
                $scope.posts = data;
                console.log(id);
        }); 
    }
    getSinglePost();

});

我想获得1234 ID,因此我可以通过localhost/post/1234将其发送到后端,但是当我登录日志id时,我得到了未定义。

我如何获得1234

3 个答案:

答案 0 :(得分:1)

您正在获取标识undefined,因为您没有将参数ID传递给该函数。 我不知道整个场景,但是你定义了一个以id作为参数的函数。要获得功能中的id,您必须传递一个。

 getSinglePost(1234);

答案 1 :(得分:1)

您在此控制器中执行的最后一项操作是调用getSinglePost()方法,但您似乎没有将id传递给它。

另外,当你弄清楚这一点时,你真的应该将getSinglePost方法放入Angular服务中。它是" Angular Way"。

https://code.angularjs.org/1.3.0/docs/api/ngResource https://code.angularjs.org/1.3.0/docs/api/ngResource/service/ $资源

答案 2 :(得分:0)

如果您在$state配置中使用app.js,请

$stateParams.id

如果您在$routeProvider congig中使用app.js,请

$routeParams.id