成功执行后控制器方法不返回任何响应
controller method not returning any response after successful execution
我正在使用 Ajax 发布我的数据,数据已成功发布到数据库。但是我没有从 Create
方法得到响应。
我的意思是 return RedirectToAction("Index");
页面没有重定向到索引页面。
// POST: TestModels/Create
[HttpPost]
public ActionResult Create(TestModel testModel)
{
if (ModelState.IsValid)
{
db.TestModels.Add(testModel);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(testModel);
}
此外,我试过:
// POST: TestModels/Create
[HttpPost]
public JsonResult Create(TestModel testModel)
{
if (ModelState.IsValid)
{
db.TestModels.Add(testModel);
db.SaveChanges();
return Json(new { success = true, responseText = "Your message successfuly sent!" }, JsonRequestBehavior.AllowGet);
}
return Json(new { success = false, responseText = "Error." }, JsonRequestBehavior.AllowGet);
}
我仍然没有收到任何 Json
回复。
我的 javascript 函数::
<script>
$(document).ready(function () {
$('#btn_submit').click(function () {
var testModel = {
FirstName: $('#FirstName').val(),
LastName: $('#LastName').val(),
Gender: $("input[name='Gender']:checked").val(),
Contact: $('#Contact').val(),
Faculty: $('#Faculty').val(),
RegNepaliDate: $('#RegNepaliDate').val()
};
alert(JSON.stringify(testModel));
$.ajax({
type: "POST",
url: "/TestModels/Create",
data: JSON.stringify(testModel),
contentType: "application/json;charset=utf-8",
dataType: 'json',
success: function (response) {
console.log(response);
if (response.success) {
console.log(response.responseText);
console.log(data);
}
},
error: function (response) {
alert("failed...");
}
})
})
})
</script>
数据已发布到服务器,当我浏览 Index
页面时,还会显示新插入的数据。
另外,当我点击 Create
页面的提交按钮时,表单数据变得清晰,但所有数据都显示在 url 栏中
https://localhost:44399/TestModels/Create?FirstName=machhi&LastName=go&Gender=male&Contact=5589512369&Faculty=science&RegNepaliDate=2021-05-01
能否添加缺少的 jQuery 库文件,如“
<script src="~/Scripts/jquery-3.4.1.min.js"></script>
<script src="~/Scripts/jquery-3.4.1.slim.min.js"></script>
" 以获取 Controller 的响应。
我正在使用 Ajax 发布我的数据,数据已成功发布到数据库。但是我没有从 Create
方法得到响应。
我的意思是 return RedirectToAction("Index");
页面没有重定向到索引页面。
// POST: TestModels/Create
[HttpPost]
public ActionResult Create(TestModel testModel)
{
if (ModelState.IsValid)
{
db.TestModels.Add(testModel);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(testModel);
}
此外,我试过:
// POST: TestModels/Create
[HttpPost]
public JsonResult Create(TestModel testModel)
{
if (ModelState.IsValid)
{
db.TestModels.Add(testModel);
db.SaveChanges();
return Json(new { success = true, responseText = "Your message successfuly sent!" }, JsonRequestBehavior.AllowGet);
}
return Json(new { success = false, responseText = "Error." }, JsonRequestBehavior.AllowGet);
}
我仍然没有收到任何 Json
回复。
我的 javascript 函数::
<script>
$(document).ready(function () {
$('#btn_submit').click(function () {
var testModel = {
FirstName: $('#FirstName').val(),
LastName: $('#LastName').val(),
Gender: $("input[name='Gender']:checked").val(),
Contact: $('#Contact').val(),
Faculty: $('#Faculty').val(),
RegNepaliDate: $('#RegNepaliDate').val()
};
alert(JSON.stringify(testModel));
$.ajax({
type: "POST",
url: "/TestModels/Create",
data: JSON.stringify(testModel),
contentType: "application/json;charset=utf-8",
dataType: 'json',
success: function (response) {
console.log(response);
if (response.success) {
console.log(response.responseText);
console.log(data);
}
},
error: function (response) {
alert("failed...");
}
})
})
})
</script>
数据已发布到服务器,当我浏览 Index
页面时,还会显示新插入的数据。
另外,当我点击 Create
页面的提交按钮时,表单数据变得清晰,但所有数据都显示在 url 栏中
https://localhost:44399/TestModels/Create?FirstName=machhi&LastName=go&Gender=male&Contact=5589512369&Faculty=science&RegNepaliDate=2021-05-01
能否添加缺少的 jQuery 库文件,如“
<script src="~/Scripts/jquery-3.4.1.min.js"></script>
<script src="~/Scripts/jquery-3.4.1.slim.min.js"></script>
" 以获取 Controller 的响应。