【问题标题】:coffeescript ajax setinterval not workingcoffeescript ajax setinterval 不工作
【发布时间】:2013-04-05 09:36:41
【问题描述】:

我是新手。 我正在尝试对更改进行轮询(railscast 229)并通过coffeesc提交表单。

jQuery ->

MessagePoller =
  poll: ->
    setInterval MessagePoller.request("get_new": "yes"), 1000
    true
  request : (data) ->
    $.ajax(
      type: "POST",
      url: $("#messageform").attr("action")
      data: data
      dataType: "JSON"
    ).success (json) ->
      alert(json)
      #act on result.
    false


 $("#formsubmit").click ->
   valuesToSubmit = $("textarea#message").val()
   sendData = {"message" : valuesToSubmit}
   $("ul#messages").append("<li>" + valuesToSubmit +  "</li>")
   $("textarea#message").val('')
   MessagePoller.request(sendData)
   false # prevents normal behaviour

 MessagePoller.poll()

但是@request 只能工作一次。

你能帮帮我吗?

【问题讨论】:

    标签: ruby-on-rails ruby coffeescript


    【解决方案1】:

    替换:

    poll: ->
      setInterval MessagePoller.request("get_new": "yes"), 1000
    
    request : (data) ->
    

    与:

    @poll: ->
      setInterval ->(MessagePoller.request("get_new": "yes")), 1000
    
    @request : (data) ->
    

    基本上:

    • 你在实例和类方法之间搞砸了

    • 你需要一个闭包

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-11
      • 2021-04-01
      • 1970-01-01
      相关资源
      最近更新 更多