我有问题(哦不)。 使用rails我正在显示可排序的表,我移动该行,ajax将数据(哪行到哪里)发布到rails控制器,这将数据保存到DB(render:nothing => true)。
现在我希望重新加载页面,因为应该进行新的计算。 如果我在js中使用reload(success:window.location.reload();)页面重新加载但是使用旧数据。我也使用了延迟(setTimeout(,..,1000))但没有成功。
似乎数据还没有在DB中。
如何在数据为POST的rails控制器中重新加载。 或者也许是其他解决方案。
LP dejan
答案 0 :(得分:1)
我在你的帮助下做到了。 THX。
所以在JS代码中POST我必须将dataType更改为'script'
$.ajax(
type: 'POST'
url: '/x/update_row_order'
dataType: 'script'
data: ndata
)
然后按行动建议
def update_row_order
# ndata saved in model
render js inline: "location.reload();"
end
as window.location.reload();没用 就是这样。再次THX。
答案 1 :(得分:0)
如果要重新加载页面,请在视图中创建一个javascript文件,并在视图文件中编写重新加载代码。
在您的controller_name#action_name
中def action_name
format.js
end
在您的视图(action_name.js)文件中,只需写:
window.location.reload();
有效。