我正在尝试使用jQuery AJAX使用POST方法将数据发送到控制器。这是我用于发送数据的代码:
$('#save_new').on('click', function () {
var category_name = $('#new_category').val();
var description = $('#new_description').val();
$.ajax({
type: 'POST',
url:"/admin/news-category/addNew",
data: JSON.stringify({ category_name: category_name ,description:description}),
contentType: 'application/json; charset=utf-8',
dataType:'json',
success: function (ctct) {
alert("success function run,");
},
error: function () {
alert("Failed to save news category.");
}
});
});
这是我的控制者:
[Route("/admin/news-category")]
public class NewsCategoryController : Controller
{
[Route("addNew")]
[HttpPost]
public IActionResult addNew(string category_name,string description)
{
NewsCategory news_category = new NewsCategory();
if (ModelState.IsValid)
{
// some statements here
return Json(new { success = true, responseText = "News Category added successfully" });
}
return Json(new { success = false, responseText = "Invalid input datas.Please enter valid datas and try again" });
}
}
执行尚未到达控制器中的addNew操作。问题的原因是什么?
更新1:这是启动中的MapRoute
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
更新2:这是我的网络标签的样子: