[英]$.ajax request in Rails 4 app doesn't render view
我是Rails的新手,我正尝试从javascxript将模型数据提交到控制器方法,并呈现结果列表...
function submitResults() {
resultURL = "/result";
resultData = JSON.stringify(results);
$.ajax({
type: "POST",
url: resultURL,
data: { results: resultData},
contentType: "application/html",
dataType: "html"
});
服务器显示执行了控制器方法并呈现了视图。
Started POST "/result" for 127.0.0.1 at 2014-11-14 17:36:32 -0600
Processing by ResultsController#create as HTML
Result Load (0.7ms) SELECT "results".* FROM "results"
Rendered results/index.html.erb within layouts/application (366.0ms)
Completed 200 OK in 4722ms (Views: 408.3ms | ActiveRecord: 1.3ms)
但浏览器不会渲染视图。 这是我的create方法,由$ .ajax调用触发...
def create
result = Result.new(result_params)
result.save
@results = Result.all
respond_to do |format|
format.html { render :index }
end
end
浏览器为什么不加载索引视图?
您的ajax调用对响应没有任何作用,请为其定义回调函数。 例如:
$.ajax({
type: "POST",
url: resultURL,
data: { results: resultData},
contentType: "application/html",
dataType: "html"
}).done(function(response) {
//attach the response somewhere in the DOM.
});
检查AJAX文档中的所有回调。
顺便说一句,您通常不希望通过ajax调用来加载整个html页面。 似乎您正在渲染的页面包含所有内容(似乎正在使用默认布局)。 在这种情况下,进行AJAX调用将没有任何好处(并使事情变得更困难),并且您可能希望通过html表单进行发布。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.