如何在jQuery.post中使用动态数据名?

我有2个基本forms用于转换数据(类型1 类型2)。

我想只用一张表格来做我的.post请求。

我遇到了jquery.post的[data]参数问题

这是我的代码:

$('form').submit(function(){ var a = $(this).parent().find("input").attr('name'); var b = $(this).parent().find("input").val(); var url = $(this).attr('action') $.post(url, { a:b },function(data) { $(data).find('string').each(function(){ $('.result').html($(this).text()); }); }); return false; }); 

问题出在{a:b}b被解释为我的var b ,但a不是,使我的post参数类似于[a:1]而不是[param:1]

有没有办法让动态?

试试这个:

 var data = {}; data[a] = b; $.post(url, data, function(data) { 

像这样:

 $('form').on('submit', function (e) { e.preventDefault(); var data = {}; var el = $(this); var input = el.parent().find('input'); var a = input.attr('name'); var b = input.val(); var url = el.attr('action'); data[a] = b; $.post(url, data, function(data) { $(data).find('string').each(function(){ $('.result').html($(this).text()); }); }); 

是的,请使用其他内容进行数据发布:

 $.post(url, a+"="+b,function(data) { $(data).find('string').each(function(){ $('.result').html($(this).text()); }); });