我有以下脚本: $- $('#new_event').submit - $.post( $(this).attr('action') $(this).serialize() success: (data, textStatus, jqXHR) - processData(data, textStatus, jqXHR) ) return falseprocessData = (data, textStatus, jqXHR) - alert(dat
$-> $('#new_event').submit -> $.post( $(this).attr('action') $(this).serialize() success: (data, textStatus, jqXHR) -> processData(data, textStatus, jqXHR) ) return false processData = (data, textStatus, jqXHR) -> alert(data)
到目前为止,我不能为我的生活调试这个.它呈现为:
(function() { var processData; $(function() { return $('#new_event').submit(function() { $.post($(this).attr('action'), $(this).serialize(), { success: function(data, textStatus, jqXHR) { return processData(data, textStatus, jqXHR); } }); return false; }); }); processData = function(data, textStatus, jqXHR) { return alert(data); //BREAKPOINT HERE }; }).call(this);
哪个看起来对我好.如果我把断点置于警戒状态,它永远不会停在那里.我的javascript知识非常有限,所以我显然在这里遗漏了一些东西.很想知道发生了什么.
谢谢,
达尼.
jQuery.post( url [, data] [, success(data, textStatus, jqXHR)] [, dataType] )
所以你不使用成功:fn(…)参数与$.post,你只需给它一个函数:
$-> $('#new_event').submit -> $.post( $(this).attr('action') $(this).serialize() (data, textStatus, jqXHR) -> processData(data, textStatus, jqXHR) ) false processData = (data, textStatus, jqXHR) -> alert(data)
甚至:
$-> $('#new_event').submit -> $.post( $(this).attr('action') $(this).serialize() processData ) false processData = (data, textStatus, jqXHR) -> alert(data)
要么:
$-> $('#new_event').submit -> $.post( $(this).attr('action') $(this).serialize() (data, textStatus, jqXHR) -> alert(data) ) false
如果你不介意额外的缩进,并且在其他地方不需要processData.