AngularJS表单不与$http请求绑定。
AngularJS表单不与$http请求绑定。
我的HTTP请求如下:
$scope.getData = function() { $http.get("/Services/JoppdService.svc/getKombiImport/" + $scope.fromDate + "/" + $scope.untilDate + "/" + $scope.airport) .success(function (response) { $scope.education = response; }); }
提交后,在控制台中出现了以下请求:
http://localhost:8080/Services/JoppdService.svc/getKombiImport/undefined/undefined/undefined
dateFrom、dateUntil和airport没有绑定。问题出在哪里?
问题的出现原因是在AngularJS的表单中,表单的绑定没有与$http请求进行绑定。解决方法是使用ng-submit指令,在表单中将所需的参数绑定到一个对象中,并将对象传递给ng-submit方法。同时,需要将fromDate和untilDate转换为字符串,并在控制器中使用$http.get方法发送GET请求获取数据。
HTML代码如下:
控制器中的代码如下:
$scope.getData = function(obj) { var fromDate = convertToString(obj.fromDate); var untilDate = convertToString(obj.untilDate); var airport = obj.airport; $http.get("/Services/JoppdService.svc/getKombiImport/"+fromDate+"/"+untilDate+"/"+.airport) .success(function (response) { $scope.education = response; }); }
注意,URL中不要有空格。如果需要初始化任何内容,可以使用ng-init指令。
问题的出现原因:
在使用AngularJS表单时,可能会出现表单提交不绑定到$http请求的问题。这可能是由于以下原因所导致的:
1.没有将内容包裹在form标签中。在使用AngularJS表单时,必须将表单的所有内容包裹在form标签中,以便表单能够正确地绑定到$http请求。
2.没有使用input标签的type属性来指定日期输入。对于日期输入,应该使用input标签,并通过设置type属性为"date"来指定日期输入。这样可以确保AngularJS能够正确地处理日期输入。
解决方法:
要解决AngularJS表单不绑定到$http请求的问题,可以采取以下措施:
1.确保将表单的所有内容包裹在form标签中。可以使用以下代码示例来包裹表单内容:
2.对于日期输入,使用input标签,并通过设置type属性为"date"来指定日期输入。可以使用以下代码示例来创建日期输入字段:
通过采取以上措施,可以解决AngularJS表单不绑定到$http请求的问题,确保表单能够正确地提交并与后端进行通信。