获取属性不是函数的Javascript错误
我正在努力解决这个问题。请查看下面我的代码获取属性不是函数的Javascript错误,javascript,jquery,Javascript,Jquery,我正在努力解决这个问题。请查看下面我的代码 function GenericFormHandler(templateId, webService) { this.templateId = templateId; this.webService = webService; } GenericFormHandler.prototype.process = function(form, success, failure) { var request= form.serialize
function GenericFormHandler(templateId, webService) {
this.templateId = templateId;
this.webService = webService;
}
GenericFormHandler.prototype.process = function(form, success, failure) {
var request= form.serializeArray();
this.webService(request,
function(data) {
success(data);
},
function(status) {
failure(status);
});
};
我在这个.webService上遇到错误。我在下面运行函数,使用
function createAccount() {
var form = $("#login");
$(form).validationEngine();
if (!$(form).validationEngine('validate'))
{
return false;
}
var handler = new GenericFormHandler('#template','$.ws.userSignUpRequest');
handler.process(form, function() {
window.location.href = "home.html";
}, function(error) {
});
}
;
我在方法过程中访问webService属性,但它给了我错误,因为对象的属性不是函数。如何解决此错误?
$.ws.userSignUpRequest
这是函数的引用,然后将其与字符串一起传递吗
var handler = new GenericFormHandler('#template', $.ws.userSignUpRequest);
在代码
中,此.webService
设置为字符串。字符串不是可以调用的方法
this.webService(request, ... // you passed the string '$.ws.userSignUpRequest' to this
如果$.ws.userSignUpRequest
实际上是对Web服务的引用(我怀疑是这样),那么您应该直接(不带引号)将其传递给GenericFormHandler的构造函数
var handler = new GenericFormHandler('#template',$.ws.userSignUpRequest);
你们在构造函数中传递字符串,而不是函数谢谢你们。这是一个愚蠢的错误。