javascript - 日期格式不符合要求; Angular js

标签 javascript html angularjs date

我试图获取 dd/MM/yyy 格式的日期并将其传递到我的 URI,日期正在传递,但不是所请求的格式。 这是我的 HTML 代码:

<script type="text/ng-template" id="getnewplaces.html" class="users">
    <h1>{{message}}</h1>
    <form name="myform" id="myform1" ng-submit="fetch()">
    <input type="date" ng-model="date" value="{{ 'date' | date: 'dd/MM/yyyy' }}" />
        <div>
            <center>
                <button type="submit" >Fetch</button>
            </center>
        </div>
    </form>
    <ul ng-repeat="newUser in newUsers">
      <li>{{newUser}} </li>
    </ul>
</script>

Angular Controller :

yApp.controller('NewPlacesCtrl', function ($scope, $http) {
    $scope.fetch = function () {

        var formdata = {
            'date': this.date
        };

        var inserturl = 'http://websitelink/getnewusers?date=' + this.date;

        $http.get(inserturl).success(function (data) {
            console.log(formdata);
            $scope.newUsers = data;
            console.log(inserturl);
            console.log(data);
            $scope.message = 'List of New places';
        })
    }
});

这是我的控制台输出:

Object {date: "2014-07-24"}
/getnewusers?date=2014-07-24

最佳答案

您在标记中使用的过滤器仅修改 View - 而不是实际模型。

要将过滤器应用于 Controller 中的日期,请注入(inject) $filter 并使用它:

yApp.controller('NewPlacesCtrl', function($scope,$http,$filter) {
  $scope.fetch= function(){

    var formdata = {'date' : $filter('date')(this.date, 'format') };
    ...
  }
});

此外,使用 this.date 将无法反射(reflect)在 View 中 - 您应该使用 $scope.date 来做到这一点。并且,标记应为 value="{{ date | date: 'dd/MM/yyyy' }}"

关于javascript - 日期格式不符合要求; Angular js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24632572/

相关文章:

angularjs - 指令名称和属性名称冲突

javascript - AngularJS:当复选框状态(作为过滤器)被代码更改时更新 ng-repeat

javascript - 创建 Wordpress 网站的移动版本

javascript - 牛队列的process方法返回的promise可以忽略不计吗?

javascript - 带验证的 jQuery 循环

javascript - Cypress 在第一次出现时停止

php - WordPress 通过 metabox 选择自定义帖子

python - 如何从网站上的最后一个表中抓取数据

javascript - AngularJS UI 路由器在工厂/服务中使用已解析的依赖项

javascript - AngularJS 绑定(bind)点击而不是 ng-click