Uncaught TypeError:Undefined is not a function
当我尝试在家庭控制器中调用方法时收到消息。
关于为什么我收到此消息的建议?
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());
如果您反转语句的顺序,则会发生“未捕获的TypeError:未定义不是函数”错误:
alert(sayHello());
var sayHello= function () {
return 'Hello!'
};
因此,我建议您仔细检查脚本是否已正确加载,以及findIdpActivities是否已根据dataService对象正确初始化。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句