我不知道如何处理jQuery Ajax在调用ASP.NET MVC时出现的POST错误“ERR_CONNECTION_REFUSED”

yrwegjxp  于 2023-11-17  发布在  jQuery
关注(0)|答案(1)|浏览(116)

我尝试使用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的第一个问题,所以如果我在某些方面有所欠缺,请让我知道。

zzlelutf

zzlelutf1#

只是提醒,如果你创建API控制器,你需要删除[ApiController]属性,使aps工作。
我测试了你的代码,工作良好。也许你可以尝试以下简单的方法。

[Route("api/[controller]")]
    public class OwnerController : ControllerBase
    {
        [HttpPost]
        public void CreateOwner(int locationId, OwnerDto ownerCreate)
        {
        }
    }

个字符


的数据

相关问题