我尝试使用jQuery和Ajax对我的ASP.NET MVC应用程序执行POST
调用,在后端(SQL Server)中创建一个新条目,但Google Chrome控制台显示错误
无法加载资源:net::ERR_CONNECTION_REFUSED
我做了一个GET
命令,它工作得很好。
下面是用于POST调用的jQuery Ajax
function insert() {
$(document).ready(function() {
var ownerCreate = {
owner : $("input[name=emailfm]").val(),
testModelArea : $("input[name=subjecttitle]").val()
}
$.ajax({
url: "https://localhost:7206/api/Owner?locationId=" + $("input[name=firstname]").val(),
type: "POST",
// dataType: "json",
data: JSON.stringify(ownerCreate),
headers: {
'Content-Type': 'application/json',
},
success:function(response){
if(response == 1){
alert("Data Added Successfully");
}
else {
alert("placeholder error");
}
}
});
});
}
字符串
下面是我使用jQuery Ajax调用的ASP.NET MVC POST
方法:
[HttpPost]
[ProducesResponseType(204)]
[ProducesResponseType(400)]
public IActionResult CreateOwner([FromQuery] int locationId, [FromBody] OwnerDto ownerCreate)
{
if (ownerCreate == null)
{
return BadRequest(ModelState);
}
var owner = _ownerRepos.GetOwners()
.Where(t => t.Owner.Trim().ToUpper() == ownerCreate.Owner.TrimEnd().ToUpper())
.FirstOrDefault();
if (owner != null)
{
ModelState.AddModelError("Model Owner", "Owner already exists");
return StatusCode(422, ModelState);
}
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var ownerMap = _mapper.Map<ConnectTestModel1>(ownerCreate);
ownerMap.Location = _locationRepos.GetLocation(locationId);
if (!_ownerRepos.CreateOwner(ownerMap))
{
ModelState.AddModelError("Error", "Can't save");
return StatusCode(500, ModelState);
}
return Ok("Successfully created");
}
型
在使用jQuery Ajax时,我填写了我的locationId、Owner和testModelArea,并通过一个按钮发送。Google Chrome控制台说我的payload通过了,我唯一的问题是连接错误。
这是我使用Stackoverflow的第一个问题,所以如果我在某些方面有所欠缺,请让我知道。
1条答案
按热度按时间zzlelutf1#
只是提醒,如果你创建API控制器,你需要删除
[ApiController]
属性,使aps工作。我测试了你的代码,工作良好。也许你可以尝试以下简单的方法。
个字符
的数据