我有一个@ Ajax.ActionLink,我用它来删除一个记录形式我的数据库。当我点击链接时,我的页面会要求确认,删除课程并刷新包含记录表的div。我想在jQuery中使用AJAX,而不是使用操作链接。当我点击我的删除按钮,我得到我的确认框,点击确定,然后没有任何反应。我知道我的jquery函数正在从所选行中获取正确的值,因为我已将它们输出以确保。我无法弄清楚为什么Ajax从不运行,但操作链接正常工作。下面是我的代码和我的控制器AJAX Actionlink的作品,但我的AJAX在jQuery不? (ASP.NET MVC 5)
控制器:
public PartialViewResult deleteCourses(string stuId, string courseAbNum)
{
KuPlanEntities db = new KuPlanEntities();
var deleteCourse = (from course in db.COURSE_TAKEN
where course.courseAbNum == courseAbNum && course.Id == stuId
select course);
foreach (var course in deleteCourse)
{
db.COURSE_TAKEN.Remove(course);
db.SaveChanges();
}
var stuCourses = (from studCourse in db.COURSE_TAKEN
join course in db.COURSEs on studCourse.courseAbNum equals course.courseAbNum
where studCourse.Id == stuId
select new courseTakenView { Id = studCourse.Id, courseAbNum = studCourse.courseAbNum, status = studCourse.status, grade = studCourse.grade, courseDesc = course.courseDesc, credits = course.credits, rowNum = studCourse.rowNum });
var model = new courseListViewModel
{
userId = stuId,
courseTaken = stuCourses
};
return PartialView("~/Views/ManageStudentCourses/listCourseRefresh.cshtml",model);
}
动作链接:
@Ajax.ActionLink("Delete", "deleteCourses", new { stuId = Model.userId, courseAbNum = @course.courseAbNum }, new AjaxOptions { UpdateTargetId = "refreshList", Confirm = ("Are you sure you want to delete this course?") })
的jQuery:
$(document).ready(function() {
$('.deleteCourseBtn').click(function() {
if(confirm("Are you sure you want to delete this course?"))
{
var courseAbNum = $(this).attr('data-id');
var stuId = $('#userId').val();
$.ajax({
type: 'POST',
url: '/ManageStudentCourses/deleteCourses',
data: { stuId:stuId, courseAbNum:courseAbNum },
dataType: 'html'
.success(function (result) {
$('#refreshList').html(result);
})
});
}
else
{
return false;
}
})
});
你检查你的浏览器控制台是否有错误或看到请求是否应该看起来像? – 2014-10-29 20:12:00
它表示Uncaught TypeError:undefined不是函数。 “.success(函数(结果){”行突出显示 – Stc5097 2014-10-29 20:17:03