我一直在尝试将我正在运行的javascript代码传递给CoffeeScript,但我无法通过此错误:
第55行无法比拟的外景
这是coffeescript代码
$(document).on("click",".save_button", ->
$form = $(this).parent().parent().parent().parent().parent().parent()
$form.bind("ajax:complete", ->
$actionURI = $form.attr("action");
$.get(window.location.protocol+"//"+window.location.host+$actionURI+".js",(data) ->
$form.parent().parent().prev().html(data); //Line 55
closeSaveElement()
,"html")
);
$form.submit();
return false;
);
我尝试过把;
放到任何地方,但我没有错。我还尝试更改->
=>
,但会弹出相同的错误。
答案 0 :(得分:6)
有效的JS并不是真正有效的CoffeeScript。你必须做这样的事情:
$(document).on "click", ".save_button", ->
$form = $(this).parent().parent().parent().parent().parent().parent()
$form.bind "ajax:complete", ->
$actionURI = $form.attr "action"
$.ajax
type: "get"
url: "#{window.location.protocol}//#{window.location.host}#{$actionURI}.js"
dataType: "html"
success: ->
$form.parent().parent().prev().html(data)
closeSaveElement()
$form.submit()
return false
另外,对这一行做点什么:
$form = $(this).parent().parent().parent().parent().parent().parent()
.closest()
应该会有所帮助。