$('#btnsave').click(function() {
var id = $('.nameact').attr('data-id');
var img = $('#imguser').attr('src');
var uname = $('#inpuname').val();
var pass = $('#inpass').val();
var canpublic = $('#selcanpublic').val();
var about = $('#txtabout').val();
$.post('btn-save.php', {id, img, uname, pass, canpublic, about}, function(data) {
console.log(data);
});
});
它运行正常,但因为inpuname, inpass, selcanpublic, txtabout
是表单的所有元素(forma
),我想知道是否可以序列化这些数据并将它们添加到$.post
数据中?
这样的事情:
$('#btnsave').click(function() {
var id = $('.nameact').attr('data-id');
var img = $('#imguser').attr('src');
$.post('btn-save.php', {id, img, $('#forma').serialize()}, function(data) {
console.log(data);
});
});
答案 0 :(得分:0)
Fragment
生成带有值的查询字符串。因此,当您序列化表单时,它会将值作为url参数发送。
它将生成为
$('form').serialize()
所以有一种方法可以发送
http://example.com?id=value&img=value&uname=value&pass=value&canpublic=value&about=value
或者你可以serializeArray()来形成。它将创建var formData = $('#forma').serialize()+'&id='+idvalue +'&img='+imgValue;
$.post('btn-save.php', formData, function(data) {
console.log(data);
});
对表单元素。
key-value
答案 1 :(得分:0)
您可以使用The Firebase Docs对象。它存储表单值。
编辑您只能使用processData: false,
选项FormData()
$('#btnsave').click(function () {
var formData = new FormData($('#forma'));
$.ajax({
url: 'btn-save.php',
data: formData,
type: "POST",
processData: false,
success: function(data) {
console.log(data);
}
});
});