将Prototype ajax请求转换成jQuery
问题描述:
我可以使用一些帮助将这个ajax请求转换成jQuery。绊倒我的主要原因是evalJS:param。
原来这里是:将Prototype ajax请求转换成jQuery
var fields = $$('#sign_in *[name^="session"]');
new Ajax.Request($F('consumer_login_url'), {
asynchronous: true,
evalJS: true,
method: 'post',
parameters: Form.serializeElements(fields),
onCreate: function(){
$('one_click_wrap').addClassName('loading');
},
onSuccess: function() {
$('one_click_wrap').removeClassName('loading');
return oneClickSuccess();
},
});
这里是我卡在其中:
var fields = $('#sign_in *[name^="session"]');
$.Ajax({
url: 'consumer_login_url',
async: true,
method: 'post',
data: $(fields).serialize(),
beforeSend: function(){
$('#one_click_wrap').addClass('loading');
},
complete: function() {
$('#one_click_wrap').removeClass('loading');
return oneClickSuccess();
},
});
谢谢大家的帮助!
答
我想你会想使用dataType参数并将其设置为“脚本”,描述为on this page。
其他说明:
- 的方法是小写的阿贾克斯,而不是$就
- 你并不需要设置异步到真(true是默认值)
- 每文档here,为serialize方法选择表单标签通常更容易。