是否可以扩展jQuery的$.post()
辅助函数的属性和选项。
我有时需要向$.post()
添加更多属性,例如async, beforeSend, contentType, context, crossDomain, error, global, headers, ifModified, mimeType, timeout, etc
,但我会使用$.ajax()
,因为我太习惯使用$.post()
,因为我习惯。
编辑:是否可以覆盖/覆盖整个帮助程序插件/函数?
答案 0 :(得分:1)
这是函数添加自己的参数,它也会更新get方法。但正如你可以清楚地看到它只是包装$ .ajax
(直接来自jQuery源代码)
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({
type: method,
url: url,
data: data,
success: callback,
dataType: type
});
};
});
编辑 - 修改后的代码示例所有参数都是必需的
jQuery.each( [ "myPost" ], function( i, method ) {
jQuery[ method ] = function( url, data, callback, type, errorCallback ) {
return jQuery.ajax({
type: method,
url: url,
data: data,
success: callback,
dataType: type,
error: errorCallback
});
};
});