gpt4 book ai didi

mysql - $http.POST 不适用于 DATETIME 数据类型(AngularJS、Spring 4.2、MySQL、Hibernate)

转载 作者:行者123 更新时间:2023-11-29 21:55:56 24 4
gpt4 key购买 nike

尝试在表中插入新记录,但当我想要插入带有日期字段的行时,总是收到错误 400(错误请求、语法错误)。我测试了 POST 并从表单中删除了“日期”字段,并且它有效。一旦我添加此输入,它就会停止工作。这是一个简单的文本输入,我使用现有行中的日期(复制/粘贴)来测试它,因为它与 $http.PUT 一起使用。

我有“内容类型”:“application/x-www-form-urlencoded”

当我更新现有行($http.PUT)时,它工作得很好,但是当我尝试创建新行时,它却不能。我对这一切都很陌生,我搜索了很多论坛,但我找不到任何做我想做的事情的例子。

我不知道该提供什么来帮助您理解,但请询问我,我会分享。

非常感谢!非常感谢您的帮助!

编辑:我正在添加 Angular 代码来提供帮助

$scope.createDepense = function (newDepenseForm) {

if (!newDepenseForm.$valid) {
$scope.displayValidationError = true;
return;
}

$scope.lastAction = 'create';

var url = $scope.url;

var config = {headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}};

$scope.addSearchParametersIfNeeded(config, false);

$scope.startDialogAjaxRequest();
debugger;

$http.post(url, $.param($scope.depense), config)
.success(function (data) {
$scope.finishAjaxCallOnSuccess(data, "#addDepensesModal", false);
})
.error(function(data, status, headers, config) {
console.log(headers);
console.log(config);
console.log(status);
console.log(data);
debugger;
$scope.handleErrorInDialogs(status);
});
};

还有我的模型:

        import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;


@Entity
public class Depenses {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id_fact")
private int idFact;

@Column(name="date_eff")
private Timestamp dateEff;

etc...

这是我更新记录的时候(PUT,工作) working $http.PUT with date changed

并且 $http.POST 不工作 not working $http.POST

也尝试过,但没有成功

    @Column(name="date_eff")
@Temporal(TemporalType.TIMESTAMP)
private Date dateEff;

最佳答案

我终于找到了!

更改模型:

@Column(name="date_eff", columnDefinition="DATETIME")
@Temporal(TemporalType.TIMESTAMP)
private Date dateEff;

这在 .jsp 输入 type="text"中为:

<input type="date"
autofocus
ng-model="depense.dateEff"
name="dateEff"
/>

瞧!已修复!

关于mysql - $http.POST 不适用于 DATETIME 数据类型(AngularJS、Spring 4.2、MySQL、Hibernate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33157199/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com