通过 ajax 发布不会发送数据



我在MVC应用程序中通过ajax发布时遇到了问题。我想发布一个字符串,但在控制器中我得到空。我发现了许多类似的问题,但仍然找不到解决方案。 我的控制器:

[HttpPost]
public async Task<ActionResult> AddCompany(string data)
{
Company company = new Company { Name = data };
await _context.Companies.AddAsync(company);
await _context.SaveChangesAsync();
return Json(new { success = true });
}

和 ajax 代码:

$.ajax({
url: '/api/companyApi/',
type: 'POST',
data: {
data: JSON.stringify("abc")
},
dataType: 'json',
success: function() {
alert("The company added");
},
error: function () {
alert('Error! Please try again.');
}
});

您正在尝试使用/api/companyApi/路径。为了使它使用默认路由工作,您需要进行适当的Route修饰。

控制器:

[Route("api")] //---> here is the change
public class YourControllerNameController

行动:

[HttpPost]
[Route("companyApi")] //---> here is the change
public async Task<ActionResult> AddCompany(string data)
{
Company company = new Company { Name = data };
await _context.Companies.AddAsync(company);
await _context.SaveChangesAsync();
return Json(new { success = true });
}

相关内容

  • 没有找到相关文章

最新更新