【发布时间】:2019-07-13 07:38:10
【问题描述】:
我正在学习 C# 和 jQuery AJAX。我目前遇到一个问题,我无法让 Ajax 正确运行,我不知道为什么。
这是错误日志:
加载资源失败:服务器响应状态为 500(内部服务器错误)
这是我的代码:
HTML
<button class="btn btn-primary btn-edit" id="{{SubjectId}}" id1="
{{StudentId}}" >Edit</button>
JavaScript AJAX 代码:
$('.btn-edit').off('click').on('click', function () {
$('#editModal').modal('show');
var id = parseInt($(this).attr('id'));
var id1 = parseInt($(this).attr('id1'));
ExamsController.LoadDetail(id, id1);
});
LoadDetail: function (id, id1) {
$.ajax({
url: '/Exams/LoadDetail',
type: 'GET',
data: {
id : id,
id1 : id1
},
dataType: 'json',
success: function (response) {
console.log(response.status);
if (response.status == true) {
var data = response.data;
$('#txtSubjectName').val(data.Subject.SubjectName);
$('#txtStudentName').val(data.Student.StudentName);
$('#numScore').val(data.Score);
} else {
alert("Error!")
}
},
Error: function (err) {
console.log(err);
}
});
},
和考试控制器
[HttpGet]
public JsonResult LoadDetail(int id, int id1)
{
bool status = false;
Exam exam = new Exam();
exam = db.Exams.Find(id, id1);
status = true;
return Json(new
{
data = exam,
status = status
}, JsonRequestBehavior.AllowGet);
}
【问题讨论】:
-
如果您将 url 复制/粘贴到浏览器,是否会出现错误?
-
它仍然错误,我想是因为我在 url 中没有参数
-
对,如果你去掉浏览器中的 500 错误,你的 ajax 就可以工作了。
-
/Exams/LoadDetail这是您尝试使用的完整 URL 吗?还要检查开发者工具 --> 网络选项卡,看看你是否点击了正确的 URL。 -
如果你得到一个循环引用,那么你需要看看是什么原因造成的。这可能是您的实际问题。
标签: javascript c# jquery asp.net-mvc