Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取属性不是函数的Javascript错误_Javascript_Jquery - Fatal编程技术网

获取属性不是函数的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);

你们在构造函数中传递字符串,而不是函数谢谢你们。这是一个愚蠢的错误。