【jQuery】ajax利用serializer进行form传值
同样的功能方法,可参考:http://wh.ac.cn/forum.php?mod=viewthread&tid=2736ASP环境可用,利用$.extend追加json参数。
$("body").on("click","input",function () {
var online = $("input:checked").val();
$.ajax({
type: 'post',
dataType: 'html',
data: $.extend({ajax: 1,act: 'save',online: online},getFormData($('form'))),
success: function (data) {
console.log(data);
}
});
return false;
})
//利用seriallize获取form值返回json。
function getFormData($form) {
var unindexed_array = $form.serializeArray();
var indexed_array = {};
$.map(unindexed_array,function (n,i) {
indexed_array] = n['value'];
});
return indexed_array;
}
弘帝建站系统范例:login/js/online.js
ajax利用FormData进行form post传值,注意ASP环境Request.form不可用
http://wh.ac.cn/forum.php?mod=viewthread&tid=2736&fromuid=1
重写jQuery.param,表单提交使用serialize()方法解决中文乱码
ajax提交gbk乱码故障解决POST调用方法:-->login/js/article.js
$("form").on("submit", function () {
$.ajax({
type: 'post',
dataType: 'html',
data: $(this).serialize(),
success: function (data) {
console.log(data);
}
});
return false;
})
重写jQuery.param-->login/js/function.js
jQuery.param = function (a) {
var s = [];
var encode = function (str) {
str = escape(str);
str = str.replace(/%20/g, "%u002B");
return str;
};
function add(key, value) {
s = encode(key) + '=' + encode(value);
};
// If an array was passed in, assume that it is an array
// of form elements
if (jQuery.isArray(a) || a.jquery)
// Serialize the form elements
jQuery.each(a, function () {
add(this.name, this.value);
});
// Otherwise, assume that it's an object of key/value pairs
else
// Serialize the key/values
for (var j in a)
// If the value is an array then the key names need to be repeated
if (jQuery.isArray(a))
jQuery.each(a, function () {
add(j, this);
});
else
add(j, jQuery.isFunction(a) ? a() : a);
// Return the resulting serialization
return s.join("&").replace(/%20/g, "+");
}
【jQuery】$(this).serialize()添加额外参数
$("form[name=theForm").on("submit", function () {if (checkdata()) {
$.ajax({
type: 'post',
dataType: 'json',
data: $.param({ ajax: 1 }) + '&' + $(this).serialize(),
success: function (data) {
if(data.stat==="ok"){
alert(data.msg);
//更新显示数据
}else{
err(data.msg);
}
}
});
}
return false;
}); 还可以参考的方法:ew FormData($("form")
网址:http://wh.ac.cn/forum.php?mod=viewthread&tid=2736
页:
[1]