Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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 面向对象ajax避免代码重复_Javascript_Php_Oop_Jquery - Fatal编程技术网

Javascript 面向对象ajax避免代码重复

Javascript 面向对象ajax避免代码重复,javascript,php,oop,jquery,Javascript,Php,Oop,Jquery,例如,我需要在用户交互时发送多个数据。例如,对于上面的代码,它用于将数据插入后端。但我还有其他操作,如更新和删除,以及许多其他字段。我计划对上面的代码进行OOP以重用它,但它与函数不同。我期待着这样的事情: var ajaxquery= $.ajax({ url: "backend.php", type: "POST", data: {data:data},

例如,我需要在用户交互时发送多个数据。例如,对于上面的代码,它用于将数据插入后端。但我还有其他操作,如更新和删除,以及许多其他字段。我计划对上面的代码进行OOP以重用它,但它与函数不同。我期待着这样的事情:

            var ajaxquery= $.ajax({
                url: "backend.php",
                type: "POST",
                data: {data:data},
                dataType: "text"
            });

可能吗?

您可以使用闭包实现这一点:

var insert = new ajaxquery(url,data,callback);
var delete = new ajaxquery(url,data,callback);

您可以使用闭包实现这一点:

var insert = new ajaxquery(url,data,callback);
var delete = new ajaxquery(url,data,callback);

你可以把它放在一个所有数据变量都是参数的函数中。你可以把它放在一个所有数据变量都是参数的函数中。这里有两个参数,var insert=ajaxquery(url,callback);但是你在这里传递的是1而不是2:insert(“somedata”);为什么?因为ajaxQuery将返回一个函数,所以这个函数被分配给insert变量,并且它只接受一个参数。我希望现在更清楚了,我明白了。还有一个问题。为什么不使用新关键字?在这种情况下,您没有使用任何对象吗?这里有2个参数,var insert=ajaxquery(url,callback);但是你在这里传递的是1而不是2:insert(“somedata”);为什么?因为ajaxQuery将返回一个函数,所以这个函数被分配给insert变量,并且它只接受一个参数。我希望现在更清楚了,我明白了。还有一个问题。为什么不使用新关键字?在这种情况下你没有使用任何对象?