c# - Ajax 不进行函数调用

标签 c# javascript .net ajax asp.net-mvc-4

我的ajax功能为:

function LoadTeacherObservationData(_CategoryID, _SearchText) {
        alert("In here");
        alert(_CategoryID);
        alert(_SearchText);
        flag = 1;
        $.ajax({
            url: "PP/getTeacherObservationData",
        data: {
        'CategoryID': _CategoryID,
        'SearchText': _SearchText
        },
    dataType: "json",
        type: 'POST',
    cache:false,
    success: function (data) {
        OnlebelChange(_CategoryID);
        $('#hdnCategoryID').val(_CategoryID);

        $("#lvTeacherData").kendoListView({
            dataSource: data,
            dataBound: function(e) {
                if(this.dataSource.data().length == 0){
                    //custom logic
                    $("#lvTeacherData").append("<h4>&nbsp;&nbsp;No record found.</h4>");

                }},
            template: kendo.template($("#lvTeacherData_Template").html())
        });
    },
    error: function () {
        alert("error in click");
    }
    });
    }

我已确保使用正确的参数调用该函数,因为我已通过警报框对其进行了检查。

我的问题是它没有被渲染到:

PP/getTeacherObservationData 正如我在 URL 中提到的。

PP 是我的 Controller ,getTeacherObservationData 是我的函数。

我将该函数编写如下:

public JsonResult getTeacherObservationData(string CategoryID, string SearchText)
        {
            try
            {
                if (CategoryID == "1")
                    return Json(new TeacherObservation().ScheduledObserVations(SearchText));
                if (CategoryID == "2")
                    return Json(new TeacherObservation().InProcessObservations(SearchText));
                if (CategoryID == "3")
                   return Json(new TeacherObservation().CompletedObservations(SearchText));

                return Json(new List<TeacherObservation>());
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

而不是调用此函数 ajax 函数代码进入错误 block 并向我发出警报:点击错误

可能是什么问题?

请帮助我。

我想通过ajax进行函数调用。

使用MVC4。

最佳答案

扩展我的评论:URL PP/getTeacherObservationData 是相对的,因此如果您当前不在网站的根目录中,那么这将不起作用。

如果您的网站位于域的根目录中,则可以使用正斜杠前缀 /PP/getTeacherObservationData

您还可以使用 this answer 中的解决方案之一。例如 ResolveUrl("~/") 来动态获取网站的根目录,这样更好,因为它更便携。例如,如果您将站点从域的根目录移出并移至目录中,则与对根目录进行硬编码不同,这将继续工作。

关于c# - Ajax 不进行函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24033921/

相关文章:

javascript - 获取嵌套对象键作为连接字符串

.net - 如何在 LINQ 语句中使用 DateTime.TryParseExact

c# - DBContext 不包含条目 : Cannot load related data 的定义

javascript - 设置变量之前检查项目是否缺失

javascript - 无法让我的提醒与日历正常配合

c# - 从另一个 XDocument 中删除 XElement

c# - Unity3d 绘制曲线以显示向量之间的夹角

Java - .Net 对象交换,不基于 Web

c# - 从 File.ReadAllBytes (byte[]) 中删除字节顺序标记

c# - 在父表达式中重用表达式结果