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

Kra*_*raz 1 javascript jquery post web-services

我有2个基本形式用于转换数据(类型1 < - >类型2).

我想只使用1个表单来执行.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;
});     
Run Code Online (Sandbox Code Playgroud)

问题在于{a:b}. b被解释为我的var b,但a不是,使我的帖子参数更像是[a:1]代替[param:1].

有没有办法拥有动态a

Eli*_*Eli 7

试试这个:

var data = {};
data[a] = b;
$.post(url, data, function(data) {
Run Code Online (Sandbox Code Playgroud)

像这样:

$('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());
    });
});
Run Code Online (Sandbox Code Playgroud)