如何将此 Ajax 函数(在原型中)转换为 jquery 函数?

How do I convert this Ajax function (in prototype) to a jquery one?

谁能帮我把原型中的这个函数翻译成 jQuery

中的等价函数
function updateNewsletter(){                  
    if ($('newsletter_dump')){
        $('newsletter_dump').remove();
    }
    newsletterParam = $('newsletter_form').serialize(true);
    newsletterParam.template_output = 'box/plugin_newsletter';

    new Ajax.Updater('newsletter_form_holder', 'index.php', {
        parameters: newsletterParam,
        evalScripts: true
    });
}

先谢谢了。

我试过这段代码但没有用。我一直收到对象错误

function updateNewsletter(){                  
    if ($('#newsletter_dump')){
        $('#newsletter_dump').remove();
    }
    newsletterParam = $('#newsletter_form').serialize(true);
    newsletterParam.template_output = 'box/plugin_newsletter';
    $.ajax({
        type: 'GET',
        url: 'index.php',
        data: {"newsletterParam" : "newsletter_form_holder"},
        dataType: 'script',
        success: function(data){
            alert(data);
        },
        error: function(e){
            alert(e);
        }
    });
}

问题可能来自 newsletterParam.template_output = 'box/plugin_newsletter'; 关于如何向 jQuery 中的序列化元素添加另一个表单元素的想法? 谢谢

与 Prototype 的序列化函数不同,jQuery 的序列化函数 returns 只有一个字符串。您的错误是由于您使用 newsletterParam 作为对象而不是字符串。因此,要解决此问题,只需将 template_output 参数附加为字符串即可:

newsletterParam = $('newsletter_form').serialize();
newsletterParam += '&template_output=box/plugin_newsletter';

此外,您 ajax 调用中的数据设置应该是

data: newsletterParam,