2012-02-11 54 views
3

我可以使用一些幫助將這個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(); 
     }, 
    }); 

謝謝大家的幫助!

回答

0

我想你會想使用dataType參數並將其設置爲「腳本」,描述爲on this page

其他說明:

  • 的方法是小寫的阿賈克斯,而不是$就
  • 你並不需要設置異步到真(true是默認值)
  • 每文檔here,爲serialize方法選擇表單標籤通常更容易。