有时需要在JQuery中实现同步post请求,而JQuery自带的是异步,需要通过JQuery.extend扩展。
支持ie和firefox,方法转载而来。需要在submit前将form.appendTo(document.body),否则无法提交且不会报错,submit后应该从body中remove此结点。另建议给form加上display:none防止影响展现
//扩展post方式提交请求
$.extend({
StandardPost:function(url,args){
var body = $(document.body),
form = $("<form method='post'></form>"),
input;
form.attr({"action":url});
$.each(args,function(key,value){
input = $("<input type='hidden'>");
input.attr({"name":key});
input.val(value);
form.append(input);
});
form.appendTo(document.body);
form.submit();
document.body.removeChild(form[0]);
}
});
调用方式: $.StandardPost(url, {param1 : "value1", param2 : "value2"});