Jquery 未捕获类型错误:未定义不是函数
当我尝试在我的家庭控制器中调用方法时,我收到消息Jquery 未捕获类型错误:未定义不是函数,jquery,ajax,json,asp.net-mvc-3,Jquery,Ajax,Json,Asp.net Mvc 3,当我尝试在我的家庭控制器中调用方法时,我收到消息uncaughttypeerror:Undefined不是一个函数 关于我为什么会收到这条信息的建议 findIdpActivities = function (pernr, callback) { restEndPoint = serviceBase + 'Home/FindIdpActivities'; data = "{'perNr':'" + pernr + "'}"; makeJsonDataAjaxCall(ca
uncaughttypeerror:Undefined不是一个函数
关于我为什么会收到这条信息的建议
findIdpActivities = function (pernr, callback) {
restEndPoint = serviceBase + 'Home/FindIdpActivities';
data = "{'perNr':'" + pernr + "'}";
makeJsonDataAjaxCall(callback);
};
makeJsonDataAjaxCall = function (callback, obj) {
$.ajax({
type: "POST",
url: restEndPoint,
contentType: "application/json; charset=utf-8",
dataType: "json",
data: data,
success: function (data) {
callback(data);
}
});
};
单击按钮时执行该方法
$(document).on("click", "input[name=btnViewActivities]", function (e) {
e.preventDefault();
var value = $(this).parent().find("input[name=hiddenPerNr]").val();
dataService.findIdpActivities(value);
});
这就是HomeController中的方法
[HttpPost]
public JsonResult FindIdpActivities(string perNr)
{
viewModel.GetIdpActivities(perNr);
return Json(new
{
Activities = viewModel.IdpActivities
});
}
这是一个常见的javascript错误,当您试图在函数定义之前调用它时会发生这种错误
例如,虽然此代码按预期工作:
var sayHello= function () {
return 'Hello!'
};
alert(sayHello());
如果颠倒语句顺序,将出现“未捕获类型错误:未定义不是函数”错误:
alert(sayHello());
var sayHello= function () {
return 'Hello!'
};
因此,我建议您再次检查脚本是否正确加载,以及findIdpActivities是否作为dataService对象的函数正确初始化