如何将此 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,
谁能帮我把原型中的这个函数翻译成 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,