【问题标题】:AJAX PUT call to database not workingAJAX PUT 调用数据库不起作用
【发布时间】:2017-12-14 21:54:44
【问题描述】:

我正在尝试通过使用我的 WebAPI 将数据发送回我的数据库,并且它使用 Insomnia 使用 PUT 方法发送此 JSON 对象正常工作。

{
        "movieId": 11,
        "customerId": 6,
        "dateRented": "2017-12-13T22:50:53.93",
        "beenReturned": true
}

但是,我正在尝试使用 jQuery 和 AJAX 执行完全相同的操作,但它不起作用,并且即使有效负载看起来正确,也会不断返回错误 500。

 var object = {
           movieId: 2013,
           customerId: 5,
           beenReturned: true
};

    $.ajax({
            url: "/api/rentals/" + button.attr("data-rental-id"),
            method: "PUT",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(object),
            success: function () {
                    toastr.success("Movie returned.");
               }, error: function () {
                   console.log();
                   toastr.error("Unable to return movie.");
            }
    });

错误:将 datetime2 数据类型转换为 datetime 数据类型导致值超出范围。

任何帮助将不胜感激。

【问题讨论】:

  • 我很难将您的错误注释与您提供的代码联系起来。是否有您没有显示导致错误的代码?您的示例上有一个 dateRented ,因为您的代码片段在 object 变量上没有该键。准确吗?
  • 正如@Taplar 所说,您提到的错误与您共享的代码部分没有直接关系。如果您可以分享您的端点的相关代码部分,我们可能会提供帮助。
  • 感谢大家的帮助。整天都在烦我,我一在这里发帖,我就修复它!

标签: jquery ajax asp.net-web-api put


【解决方案1】:

问题是我的 "dateRented" 属性必须是 "dateRented: new Date()" 因为提供的字符串不是 DateTime 对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 2023-03-03
    相关资源
    最近更新 更多