将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方法选择表单标签通常更容易。