[英]Returning message from controller to ajax request jquery
我在從Controller響應回ajax請求時遇到問題。 該請求正確完成,但是我無法從控制器獲取消息以檢查它是否成功。
主題控制器代碼
public JsonResult SaveSubjects(SubjectViewModel model) {
bool success = false;
if (ModelState.IsValid) {
success = true;
char[] years = model.Year.ToCharArray();
for (int i = 0; i < years.Length; i++) {
model.Year = years[i].ToString();
Subject s = subjectGateway.FindById(int.Parse(model.Year), model.Title);
if (s == null)
addSubjectUseCaseFactory.AddSubjectUseCase().Execute(new AddSubjectRequestCreator().ToRequest(model));
else {
success = false;
break;
}
}
}
return Json(new {
success
});
}
JQUERY代碼
我在混亂的地方添加了注釋行
$.ajax({
type: "POST",
url: '@Url.Action("SaveSubject","api/Subject")',
data: subject,
dataType: "html",
success: function(subject) { // the subject gets the value "{\"success\":true}"
debugger;
if (subject.success) { //but here the success it says undefined.
debugger;
var valuesArray = new Array();
valuesArray = selectedValue.split("");
for (var i = 0; i < valuesArray.length; i++) {
var select = '<select id="selectYearCell" class="form-control" width="10">' +
'<option>5</option>' +
'<option>6</option>' +
'<option>7</option>' +
'<option>8</option>' +
'<option>9</option>' +
'</select>';
var row = '<tr>' +
'<td>' + (rowIndex++) + '</td>' +
'<td>' + title + '</td>' +
'<td>' + valuesArray[i] + '</td>' +
'<td>' + actions + '</td>' +
'</tr>';
$("#mainTable").append(row);
}
$("#Title").val('');
$("#Title").removeClass("makeRed");
$('[data-toggle="tooltip"]').tooltip();
// $("table tbody tr").eq(index + 1).find(".add, .edit").toggle();
} else {
alert("Lenda ekziston");
}
}
});
}
您的答復是一個字符串。 您應該:
dataType: "html"
)。 let data = JSON.parse(subject)
解析字符串 您應該返回:
return Json(success);
在ajax中使條件如下:
if (subject == true) {
//your Code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.