gpt4 book ai didi

javascript - 我可以将一个 javascript 请求重定向到另一个 javascript 操作吗?

转载 作者:行者123 更新时间:2023-11-29 15:52:36 33 4
gpt4 key购买 nike

我有一个评论 Controller ,其中包含索引和创建操作。这两个操作都响应 html 和 js 格式。

每当我通过 ajax 收到创建请求时,我想添加新评论,然后重定向到 index.js,这样屏幕上的评论就会更新,而无需重新加载页面。

这种事情在 Chrome 中完美运行。但是每当我在 Firefox 或 IE 中尝试这个时,结果都是来自 create.js 的重定向落在了 index.html 中......

即使我强制重定向为 js:

redirect_to polymorphic_path([@commentable, :comments]), :format => 'js'

它出现在 Firefox 和 IE 的 format.html 中。

知道这里会发生什么吗?

最佳答案

浏览器以不同方式处理 302 请求的方式存在各种问题。有些丢失了请求类型,有些丢失了请求方法(示例工单:http://trac.tools.ietf.org/wg/httpbis/trac/ticket/160)。

我建议您在使用 JS 时不要重定向到新的 URL,您只需呈现相同的操作即可。所以像这样:

class CommentsController < ApplicationController
def index
setup_for_index
respond_to :html, :js
end

def create
# Creation stuff...
respond_to do |format|
format.html {redirect_to :action => :index}
format.js do
setup_for_index
render :action => :index
end
end
end

private

def setup_for_index
@comments = ...
end
end

关于javascript - 我可以将一个 javascript 请求重定向到另一个 javascript 操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3601218/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com