在使用 ajax 请求从 Rails 控制器操作中获取响应时,我遇到了一些奇怪的行为。
$.ajax({
type: 'GET',
url: '/notifications',
success: function(result) {
eval(result);
}
});
def index
respond_to do |format|
format.html { redirect_to root_url, alert: 'Page not accessible' }
format.js
end
end
所以这个 respond_to 块在使用带有 railsremote: true
选项的请求时工作正常,但使用 ajax 调用它只是将请求重定向到root_url
.
从 Ajax 请求开始指定json
时dataType
。so 返回 JavaScript 就好了,但因为它无效json
,eval()
所以不运行它。
有没有办法从 JavaScript 中启动 Rails 远程请求或指定返回的 JavaScript 可执行的数据类型?
即使dataType: 'text/javascript',
在 ajax 调用中指定也不能解决问题。