我想在我的网页上使用Ajax丰富用户的web体验。我习惯于使用jQuery进行Ajax调用,但我遇到了eldarion-ajax (以前的bootstrap-ajax -> https://github.com/eldarion/eldarion-ajax),并认为这可能是一个好主意。但要知道一开始就会出现一个问题。我给你举个例子:我用以下命令创建了一个表单:
{{ Form::open(array('url' => '/contact/send', 'class' => 'form-outside form-contact ajax')) }}' ajax‘类现在应该使表单对于ajax调用是合理的。我现在转到JavaScript代码,并使用eldarion给我的一个事件处理程序:
$('.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 submit。由于我使用$.post函数将表单数据实际发送到laravel的自定义控制器类,因此可以在function( data ) {}部分中使用控制器发回给我的响应。
那么,为什么以及如何使用其他eldarion事件,比如eldarion-ajax:success呢?根据我对eldarion-ajax:success的理解,我应该使用从控制器返回给我的数据,以防一切正常。这有什么意义吗?我应该不使用$.post,而用eldarion以不同的方式处理这个问题吗?多么?
如有任何建议,我们将不胜感激!
干杯!
发布于 2014-03-29 20:20:37
就我对该库的理解而言,您实际上不需要发出自定义请求-因为您已经指定了ajax类。从文档中
在声明为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());
});https://stackoverflow.com/questions/22729786
复制相似问题