我有一个功能:
reportAdminActions.reportMemberList(project, function(data) {
console.log(data);
});
此函数由另外一个ajax操作调用,如下所示:
reportMemberList: function(projectId, callback) {
var projectDetail = new Object();
projectDetail.projectId = projectId;
var pluginArrayProject = new Array();
pluginArrayProject.push(projectDetail);
$.ajax({
url : ConfigCom.serverUrl + 'projectreportonmember',
dataType: "jsonp",
type: "POST",
data: JSON.stringify(pluginArrayProject)
}).always(function(data) {
callback(data.responseText);
});
}
我需要在ajax操作后返回值到函数定义区域。但在这里我得到了一个错误
Uncaught TypeError: callback is not a function
答案 0 :(得分:1)
检查代码的其余部分是否有对reportMemberList
的调用,并确保始终使用回调作为参数调用它。如果你在任何地方省略了回调参数(例如只用reportMemberList
参数调用projectId
),上面的代码将正确解析用回调对函数的其他调用会产生错误。 (这是我的解决方案。)
答案 1 :(得分:0)
reportMemberList: function(projectId, callback) {
var projectDetail = new Object();
projectDetail.projectId = projectId;
var pluginArrayProject = new Array();
pluginArrayProject.push(projectDetail);
$.ajax({
url : ConfigCom.serverUrl + 'projectreportonmember',
dataType: "json",
type: "POST",
data: JSON.stringify(pluginArrayProject)
}).always(function(data) {
callback(data.responseText);
});
}