Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jquery.ajax回调上获取类实例_Jquery_Coffeescript - Fatal编程技术网

在jquery.ajax回调上获取类实例

在jquery.ajax回调上获取类实例,jquery,coffeescript,Jquery,Coffeescript,我正在尝试使用jQuery.ajax回调调用实例以处理消息。但是,我无法将调用实例放入函数中 在GetHistory调用中,返回一个消息列表,我希望Process方法对每个消息执行操作。问题在于,在回调函数执行期间,返回一个错误,说明“this.Process未定义”。这就是为什么我猜测没有设置实例的原因 我还尝试将参数添加到“context:this”的.ajax中,但似乎没有帮助 class MessageHandler @messages: [] Process: (messa

我正在尝试使用jQuery.ajax回调调用实例以处理消息。但是,我无法将调用实例放入函数中

在GetHistory调用中,返回一个消息列表,我希望Process方法对每个消息执行操作。问题在于,在回调函数执行期间,返回一个错误,说明“this.Process未定义”。这就是为什么我猜测没有设置实例的原因

我还尝试将参数添加到“context:this”的.ajax中,但似乎没有帮助

class MessageHandler

  @messages: []

  Process: (message) ->
      messages.push message

  GetHistory: ->    
    jQuery.ajax url:'/home/BidDetail', dataType: 'json', data: 'auctionId=1', success:     (data) ->
      @Process record for record in data.records when record.type == 'BID'

您是否尝试过使用?

中建议的=>(the)您是否尝试过使用?

中建议的=>(the)我很惊讶
上下文:此
不起作用。您应该能够使用它,或者按照Paul的建议使用
=>
(最简洁),或者使用经典的
self=this
(更高效):


注意,我假设您正在使用语法
obj.GetHistory()
调用
GetHistory
,其中
obj
是您希望
this
success
回调中指向的对象。您可能希望使用
=>
而不是
->
来定义
GetHistory
,这样,即使您将其从类实例中分离,上下文也将保持不变。

我很惊讶
上下文:这
不起作用。您应该能够使用它,或者按照Paul的建议使用
=>
(最简洁),或者使用经典的
self=this
(更高效):


注意,我假设您正在使用语法
obj.GetHistory()
调用
GetHistory
,其中
obj
是您希望
this
success
回调中指向的对象。您可能想用
=>
而不是
->
来定义
GetHistory
,这样,即使您将它从类实例中分离,上下文仍然是相同的。

谢谢-我认为ajax回调上下文中的“this”会有所不同。@S.Hebert,是的。抱歉,我已经更正了答案中的代码。谢谢-我在想ajax回调上下文中的“this”会有所不同。@S.Hebert-Er,是的。对不起,我已经更正了答案中的代码。
GetHistory: ->    
  self = this
  jQuery.ajax url:'/home/BidDetail', dataType: 'json', data: 'auctionId=1', success: (data) ->
    self.Process record for record in data.records when record.type == 'BID'