将Prototype ajax请求转换为jquery

时间:2012-02-11 06:04:34

标签: jquery ajax prototypejs

我可以使用一些帮助将此ajax请求转换为jQuery。绊倒我的主要事情是evalJS:param 这是原始的:

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();
        },
    });

谢谢大家的帮助!

1 个答案:

答案 0 :(得分:0)

我想你会想要使用dataType参数并将其设置为“script”,描述为on this page

其他说明:

  • 该方法是小写的ajax,而不是$ .Ajax
  • 您无需将async设置为true(默认值为true)
  • 根据文档here,通常更容易为序列化方法选择表单标记。