如何在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()); }); });