2014-03-29 37 views
0

我想用我的網頁上的Ajax豐富用戶的網絡體驗。我習慣用jQuery來做Ajax調用,但是我碰到了eldarion-ajax(以前的bootstrap-ajax - >https://github.com/eldarion/eldarion-ajax),並認爲這可能是一個好主意。但是一開始就知道一個問題。我給你舉個例子: 我創建了一個表格:使用eldarion-ajax/bootstrap-ajax和laravel。如何使用這些事件?

{{ Form::open(array('url' => '/contact/send', 'class' => 'form-outside form-contact ajax')) }} 

班「AJAX」現在應該做的形式明智的AJAX調用。 我現在談的JavaScript代碼,並使用事件處理程序艾達瑞安的人給我:

$('.form-contact').on("eldarion-ajax:begin", function(evt, $el) { 
     $.post(
      $(this).prop('action'), 
      { 
       "_token": $(this).find('input[name=_token]').val() 
      }, 
      function(data) { 
       //here comes the response 
      }, 
      'json' 
     ); 
    }); 

所以我的理解是,這一事件(eldarion-ajax:begin)獲取的請求開始發射時有人現在點擊OB在表格中提交。當我使用$ .post函數將表單的數據實際發送到laravel的自定義控制器類時,我可以使用控制器在function(data) {}部分發回給我的響應。

爲什麼以及如何使用其他eldarion事件,如eldarion-ajax:success呢?據我所知,它與eldarion-ajax:成功我應該使用從控制器得到的數據,以防萬一。這有任何意義嗎?我應該不使用$ .post並以不同的方式使用eldarion來處理這個問題嗎?怎麼樣?

任何建議將不勝感激!

乾杯!

回答

0

就我所瞭解的圖書館而言,您實際上並不需要進行自定義請求 - 因爲您已經指定了ajax類。從文檔

所有事件都被聲明爲阿賈克斯

而且在元素上觸發,幾個元素可以聲明爲AJAX,使用LIB的事件使得容易通過定義單一的事件來處理處理程序(可能是事件委託),例如。 from the doc

$(document).on("eldarion-ajax:success", [data-prepend-inner], function(evt, $el, data) { 
    // different actions can be performed based on different elements 
    var $node = $($el.data("prepend-inner")); 
    $node.data(data.html + $node.html()); 
}); 
+0

嘿code-jaff, 是的,謝謝。但是,如果我使用eldarion-ajax:開始我然後檢查哪個元素已經被觸發,並執行必要的操作,如$ .post用於將提交的數據傳輸到php側的控制器腳本,或者我錯了嗎?這個動作總是依賴於ajax調用被觸發的元素。如果我使用$ .post然後,我有$ .post函數內的服務器的響應,並不需要eldarion-ajax:成功或我缺少什麼? – Torben