0

完成一个 ajax 调用后如何销毁实例变量。在我的应用程序中,数据是通过 ajax 返回的,并且经常会进行新的调用,之前调用的一些值与一些新值混合返回。这算是设计流程吗?还是应该通过寻找破坏名副其实/价值的方法来动脑筋?

示例控制器 -

    def something
    @result = Stuff.find_all_by_requestor_name
    respond_to do |format|
    format.html { render :partial => 'list'}
    format.js
    end
    return @result 
    end

我注意到几次 ajax 请求混淆了值。我在这里误会了吗?

4

1 回答 1

0

就您的问题而言,实例变量无法在调用之间存活,每个 http 调用都独立于其他调用,并且变量不会存活到下一次调用。但是我注意到下面的代码中有一些奇怪的地方

def something
    @result = Stuff.find_all_by_requestor_name
    respond_to do |format|
        format.html { render :partial => 'list'}
        format.js
    end
    return @result 
end

查看上面的代码,我不明白为什么要从获取 AJAX 请求的控制器函数返回值。我想你想要的是以下

def something
    @result = Stuff.find_all_by_requestor_name
    respond_to do |format|
        format.html { render :partial => 'list'}
        format.js { render :json => @result }
    end
end

你应该renderformat.js块内而不是最后返回。希望有帮助

于 2012-05-02T04:57:16.493 回答