Javascript Angularjs:http post不工作

Javascript Angularjs:http post不工作,javascript,angularjs,post,Javascript,Angularjs,Post,我正在设计一个简单的页面,它将从用户那里获取开始和结束日期,验证并发布 下面是我的HTML代码 <body> <div ng-app="appTable"> <div ng-controller="Allocation"> Select start date: <input type="text" datepicker ng-model="start_d

我正在设计一个简单的页面,它将从用户那里获取开始和结束日期,验证并发布

下面是我的HTML代码

<body>
   <div ng-app="appTable">
      <div ng-controller="Allocation">
         Select start date:
         <input type="text"
            datepicker
            ng-model="start_date" />
         <br>
         <br>
         Select end date:
         <input type="text"
            datepicker
            ng-model="end_date" />
         <br>
         <br>
         <button ng-click="Submit()"> Submit </button> 
         {{msg}}
         {{test1}}
         {{test2}}
      </div>
   </div>
</body>

选择开始日期:


选择结束日期:

提交 {{msg}} {{test1}} {{test2}}
以下是aj脚本:

   <script>
    var app = angular.module("appTable", []);

    app.controller("Allocation", function($scope) {
        $scope.start_date = "2017-05-01";
        $scope.end_date = "2017-05-19";


        $scope.Submit = function() {
            var start = new Date($scope.start_date);
            var end = new Date($scope.end_date);

            if (start > end) {
                $scope.msg = "Start date must be less than the end date."
            } else {
                $scope.msg = "";
                $scope.test = "";
                $scope.postData($scope.start_date, $scope.end_date);

            }


        };
        $scope.postData = function(s_date, e_date) {


            var data = {
                s_date: s_date,
                e_date: e_date,


            };
            $scope.test1 = "Post called 1";
            $http.post('/view_status/', data).then(function(response) {
                $scope.test2 = "Post called 2";
                if (response.data)
                    $scope.msg = "Post Data Submitted Successfully!";
            }, function(response) {
                $scope.msg = "Service not Exists";
                $scope.statusval = response.status;
                $scope.statustext = response.statusText;
                $scope.headers = response.headers();
            });
        };


    });

    app.directive("datepicker", function() {

        function link(scope, element, attrs, controller) {
            // CALL THE "datepicker()" METHOD USING THE "element" OBJECT.
            element.datepicker({
                onSelect: function(dt) {
                    scope.$apply(function() {
                        // UPDATE THE VIEW VALUE WITH THE SELECTED DATE.
                        controller.$setViewValue(dt);

                    });
                },
                dateFormat: "yy-mm-dd" // SET THE FORMAT.
            });
        }

        return {
            require: 'ngModel',
            link: link
        };
    });
</script>

var app=angular.module(“appTable”,[]);
应用控制器(“分配”,功能($scope){
$scope.start_date=“2017-05-01”;
$scope.end_date=“2017-05-19”;
$scope.Submit=函数(){
var start=新日期($scope.start\u Date);
var end=新日期($scope.end\u Date);
如果(开始>结束){
$scope.msg=“开始日期必须小于结束日期。”
}否则{
$scope.msg=“”;
$scope.test=“”;
$scope.postData($scope.start\u date,$scope.end\u date);
}
};
$scope.postData=函数(s_日期、e_日期){
风险值数据={
s_日期:s_日期,
e_日期:e_日期,
};
$scope.test1=“Post called 1”;
$http.post('/view_status/',data)。然后(函数(响应){
$scope.test2=“Post called 2”;
if(response.data)
$scope.msg=“提交数据成功!”;
},功能(回应){
$scope.msg=“服务不存在”;
$scope.statusval=response.status;
$scope.statustext=response.statustext;
$scope.headers=response.headers();
});
};
});
指令(“日期选择器”,函数(){
功能链接(范围、元素、属性、控制器){
//使用“element”对象调用“datepicker()”方法。
元素日期选择器({
onSelect:函数(dt){
作用域$apply(函数(){
//使用所选日期更新视图值。
控制器$setViewValue(dt);
});
},
日期格式:“yy-mm-dd”//设置格式。
});
}
返回{
要求:'ngModel',
链接:链接
};
});
出于调试目的,我使用了两个标志test1和test2,它们将在POST服务调用之前和之后打印消息。 标记test1正在打印消息,但是test2、msg没有打印任何内容。
如果我遗漏了什么,请帮助。

您需要将$http注入控制器

$http
注入控制器才能访问
$http.post


例如:
app.controller(“Allocation”,function($scope,$http){

您是否收到任何错误?从服务中,尝试记录它,如果有,它是否转到错误块?此行执行$scope.msg=“服务不存在”;您能检查错误响应吗returns@bhuvan,不,它不会阻止错误。因为没有打印消息。您能看到您的浏览器控制台窗口有任何错误吗?@Immanuel Kirubaharan,@anoop:浏览器日志显示在下面:$http未定义