提问人:cody 提问时间:10/24/2023 最后编辑:Tiny Wangcody 更新时间:10/24/2023 访问量:105
我不知道如何处理调用 MVC 时 ASP.NET jquery ajax POST 错误“ERR_CONNECTION_REFUSED”
I don't know how to deal with jquery ajax POST error "ERR_CONNECTION_REFUSED" when calling ASP.NET MVC
问:
我尝试使用 jQuery 和 Ajax 调用我的 ASP.NET MVC 应用程序,在后端 (SQL Server) 中创建一个新条目,但 Google Chrome 控制台显示错误POST
无法加载资源:net::ERR_CONNECTION_REFUSED
我做了一个命令,它工作得很好。GET
这是我的 jQuery Ajax 用于我的 POST 调用
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控制台说我的有效负载已通过,我唯一的问题是连接错误。
这是我使用 Stackoverflow 的第一个问题,所以如果我在某些方面有所欠缺,请告诉我。
答:
0赞
Qiang Fu
10/24/2023
#1
只需提醒一下,如果您创建 api 控制器,您需要删除属性才能使 ajax 工作。[ApiController]
我测试了您的代码并且运行良好。也许您可以尝试遵循简单的方法。
[Route("api/[controller]")]
public class OwnerController : ControllerBase
{
[HttpPost]
public void CreateOwner(int locationId, OwnerDto ownerCreate)
{
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script>
var ownerCreate = {
owner : "testowner",
testModelArea : "testmodel"
}
$.ajax('https://localhost:7275/api/owner', {
type: 'POST',
data: {
locationId:7,
ownerCreate:ownerCreate
}
});
</script>
评论
NoContent("Successfully created")
Ok("Successfully created")
[ProducesResponseType(200)]