ajax成功或失败的原因,实际上成功后,AJAX发布请求报告失败

奇怪的情况。我正在使用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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值