我想完美地包装jquery帖子并获取。是否有可能通过参数对象?
function myPost(){
return $.post(arguments);
}
执行上述操作无效,因为它是作为对象传递的。
否则我必须以某种方式包装
jQuery.each( [ "get", "post" ], function( i, method ) {
jQuery[ method ] = function( url, data, callback, type ) {
// shift arguments if data argument was omitted
if ( jQuery.isFunction( data ) ) {
type = type || callback;
callback = data;
data = undefined;
}
return jQuery.ajax({
url: url,
type: method,
dataType: type,
data: data,
success: callback
});
};
});
答案 0 :(得分:2)
您正在寻找apply()
:
function myPost() {
return $.post.apply($, arguments);
}
使用apply
,您可以传递一个数组,该数组将用于调用函数,第一个参数设置为第一个数组元素,第二个参数设置为第二个,等等。
使用ES6 spread operator,您可以这样做:
function myPost() {
return $.post(...arguments);
}