0
我在轨道中进行ajax调用来更新数据库中的一个标志。Ajax请求被触发两次
由于某种原因,请求被执行两次。
在日志中的2个呼叫之间的唯一区别是:
Started PUT "/negotiations/groupprocurement_validation_toggle?id=1504" for 127.0.0.1 at 2011-01-20 22:28:39 +0100
Processing by NegotiationsController#groupprocurement_validation_toggle as JS
Started PUT "/negotiations/groupprocurement_validation_toggle?id=1504" for 127.0.0.1 at 2011-01-20 22:28:40 +0100
处理由NegotiationsController#groupprocurement_validation_toggle作为/
所以不同的是在 “为JS” 或“作为/“。
我不知道这意味着什么:(
这里的链接
JavaScript的
$('a[id^=validation_]').live('click', function(){
var line_id = $(this).attr('id').replace('validation_','');
$.ajax({
url: '/negotiations/gp_validation_toggle?id=' + line_id,
type: "PUT",
success: function(data){
$('#validation_image_' + line_id).html(img_result);
$('#container').prepend(msg_result)
$('#flash_notice').delay(3000).fadeOut('slow');
},
beforeSend: function(){
$('#validation_image_' + line_id).html('<img src="/images/loading_round.gif">');
}
});
return false;
});
,并在控制器中,我有
respond_to :html, :js, :csv
和
def gp_validation_toggle
@negotiation = Negotiation.find(params[:id])
@negotiation.validated_global = [email protected]_global
if @negotiation.save
flash[:notice] = "Modification saved"
else
flash[:notice] = "Oops something went wrong"
end
end
我在做什么错?
感谢, P.
所以,它的工作不知何故。首先改变的js线\t $( '#列表')。代表( 'A', '点击',函数(){ 现在只有1个请求,但没有JavaScript代码被执行:(。任何想法? – Pierre 2011-01-21 11:07:34