gpt4 book ai didi

javascript - AJAX post 请求报告失败,但实际上成功

转载 作者:行者123 更新时间:2023-12-01 03:05:03 25 4
gpt4 key购买 nike

奇怪的情况。我正在使用 AJAX 将一些数据发布到服务,并且成功 - 这意味着我可以真正看到存储在数据库中的新数据。但是,我的代码没有进入 done() 部分,但由于某种原因总是以 fail() 部分结束。我提供了相关代码。

$(document).ready(function(){

// on-click listener
$("#btn-submit").click(function(e) {
// obtain data from the form
var employee = {
FirstName: $("#input-first-name").val(),
LastName: $("#input-last-name").val(),
BirthPlace: $("#input-birth-place").val(),
CurrentPlace: $("#input-current-place").val(),
Gender: $("#input-gender").val(),
Department: $("#input-department").val(),
OIB: $("#input-oib").val()
};

// AJAX call on button clicked
$.ajax({
type: "POST",
dataType: "json",
url: "http://127.0.0.1:8080/api/employee/",
data: employee
}).done(function(){
alert("Successfully created new entry!");
}).fail(function(xhr) {
//alert("Fail!");
console.log(xhr);
});
});
});

我正在尝试记录错误消息,但它就像这样:

{readyState: 0, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}

来自服务器的响应生成如下。

[HttpPost]
[Route("")]
public HttpResponseMessage Post([FromBody]EmployeeDto employee)
{
long id = persistence.SaveEmployee(employee);

// create http response
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);
response.Headers.Location = new Uri(Request.RequestUri, String.Format("/api/employee/{0}", id));

return response;
}

生成以下带有 201 Created 状态代码的响应:

    Date: Sat, 16 Sep 2017 11:11:51 GMT
Server: Mono.WebServer.XSP/4.4.0.0 MacOSX
Location: http://127.0.0.1:8080/api/employee/40
Access-Control-Allow-Origin: *
X-AspNet-Version: 4.0.30319
Content-Length: 153
Expires: -1
Pragma: no-cache
Cache-Control: no-cache
Content-Type: application/json; charset=utf-8
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive

我真的不知道这意味着什么,也不知道为什么代码在实际设法发布新条目时会进入失败部分。有什么想法吗?

最佳答案

我不确定这是否是您的情况,因为您从未提到从服务器返回的数据是什么。
根据DOCS ,从 jquery 1.9 开始,空响应也会被拒绝。

The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead.

关于javascript - AJAX post 请求报告失败,但实际上成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46251946/

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