【问题标题】:transferring a date from Knockoutjs to API gets me 01/01/0001将日期从 Knockoutjs 转移到 API 让我 01/01/0001
【发布时间】:2016-06-02 09:05:38
【问题描述】:

我正在做一个小项目来学习Knockoutjs,在将date传输到服务器时遇到了问题。

基本上我有以下代码:-

    self.loanBookSubmit = function (formElement) {
    var loannee = {
        BookId: this.loanedBook.Id,
        Date: ko.observable(moment(self.newLoanBook.CurrentDate()).format('DD-MM-YYYY')),
        Name: self.newLoanBook.Name(),
        Surname: self.newLoanBook.Surname(),
        Comments: self.newLoanBook.Comments()
    };

    console.log(loannee);

    ajaxHelper(loansUri, 'POST', loannee).done(function (item) {
        console.log(item);
        self.books.push(item);
    });
}

现在console.log(loanee),日期是正确的,但是当我将它传输到我的api时,我得到一个空白日期01/01/0001。

有人可以帮助我并告诉我我做错了什么吗?

【问题讨论】:

  • 你应该试试ko.observable(new Date(moment(self.newLoanBook.CurrentDate()).format('DD-MM-YYYY')))
  • 好的,我已经解决了。我错误地使用了 Date 而不是参数的实际名称。我还需要删除 ko.observable。

标签: javascript knockout.js asp.net-web-api2 momentjs


【解决方案1】:

你可以试试这个

var 贷款人 = { BookId:this.loanedBook.Id, 日期:新日期(self.newLoanBook.CurrentDate().getFullYear(), self.newLoanBook.CurrentDate().getMonth() + 1, self.newLoanBook.CurrentDate().getDate()), 名称:self.newLoanBook.Name(), 姓氏:self.newLoanBook.Surname(), 评论:self.newLoanBook.Comments() };

【讨论】:

    【解决方案2】:

    变量的名称必须与对象中参数的名称相同,并且需要删除 ko.observable()。

    所以正确的语法应该是:-

             DateLoaned: moment(self.newLoanBook.DateLoaned()).format('DD-MM-YYYY'),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-06
      • 2015-12-31
      • 2018-08-08
      • 1970-01-01
      • 2021-04-23
      • 2013-07-23
      • 2011-10-07
      • 1970-01-01
      相关资源
      最近更新 更多