我的应用程序只有一个视图页面。我的视图页面(oneview.haml)有以下流程。
最初它只包含带有提交按钮的表单。这是加载默认控制器操作oneview(加载初始oneview.haml)。
一旦用户填写表单并单击提交,我必须调用新的控制器操作并使用表单详细信息执行API调用,并且必须在同一视图(oneview.haml)上更新返回的数据。不应该重新加载oneview.haml,它必须在没有刷新的情况下进行更新。这是一个包含一些可点击行的表。
如果用户单击其中一行,则必须调用新的控制器操作。并且此控制器还会根据来自可点击行的传递参数来执行某些api调用,并且必须将新div添加到具有该行详细信息的同一页面中。这里也不应该重新加载页面,但必须通过添加额外的div来更新。
我对rails很新,以前没有处理过ajax。我知道动态加载和ajax的所有交易。但我的观点是,不同的控制器操作如何更新已存在的视图。我知道从控制器渲染中我们可以加载页面,但是如何在不同的控制器操作中向已经存在的页面添加内容。
我知道这是一个很长的问题,我对此持续了几天。任何帮助和参考将不胜感激。谢谢
答案 0 :(得分:0)
最基本的参考资料可以在AJAX的JQuery网站上找到。
听起来您希望将on click事件绑定到将运行ajax调用的DOM元素,然后使用通过所述调用传递的数据在您的页面上执行某些操作。
点击装订简单:
$(document).on('click', 'selector', function() {
//AJAX call
});
示例AJAX调用和Tutorial:
$.ajax({
type: "GET",
url: "methodUrl",
success: function (returnedData) {
//Do stuff with returnedData, for example appending html type data
$("selector").append(returnedData);
}
});
您可以将错误处理,POST数据添加到后端作为方法的参数,返回与您发送的数据类型不同的数据类型(使用contentType发送数据和dataType以接收数据)以及各种其他可自定义的选项,具体取决于具体内容你需要做的。
通常,AJAX是一种很好的方式来访问您的服务器并操纵对象和您的页面,而无需发送完整的页面重新加载请求。