0

我是新手。我正在尝试对更改进行轮询(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 只工作一次。

你能帮助我吗?

4

1 回答 1

2

代替:

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

request : (data) ->

和:

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

@request : (data) ->

基本上:

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

  • 你需要一个关闭

于 2013-04-05T09:38:25.563 回答