运行以下代码显示Controller和View正在正确接收和解析JSON,并返回HTML。 (这可以通过回调函数中的警报来看到。)
但是,我想要的是将浏览器重定向到/ json_test / main,而不是仅仅接收响应中的HTML。
控制器:
class JsonTestController < ApplicationController
def main
@postData = params[:scores]
end
def test
end
end
main.html.erb:
<h1>JsonTest#main</h1>
<p>Find me in app/views/json_test/main.html.erb</p>
<% @postData.each do |key, value| %>
<p><%= key %> : <%= value %></p>
<% end %>
test.html.erb:
<script type="text/javascript">
var postUrl = "<%= json_test_main_path %>";
var postJson = JSON.parse('{ "scores" : { "player1": 5, "player2": 6 } }');
$.get(postUrl, postJson, function(data, status, xhr) {
alert("Data: " + data + "\nStatus: " + status);
}, "html");
</script>
任何帮助都将不胜感激。
答案 0 :(得分:1)
如果您的目标是将用户重定向到另一个页面,那么执行AJAX请求的重点是什么?
没有意义。
尽管如此,您可以在$ .get中添加成功回调,以重定向浏览器。
.done(function() {
window.location.href = "http://stackoverflow.com";
})