AnA*_*ice 2 jquery ruby-on-rails ruby-on-rails-3
我需要帮助理解Rails中的端到端流程.
我可以使用以下示例的帮助..让我们采取Facebook.
当您在Facebook.com上,然后单击MESSAGES时,URL将更改为(facebook.com/?sk=messages),然后使用AJAX将使用JavaScript注入的HTML/JS内容下载到内容面板中.没有浏览器刷新,这就是我所追求的.
我的具体问题是:
据推测,Rails就像其他任何主要框架一样工作.通常,您希望AJAX和GET请求能够很好地协同工作.所以想象你有这个网址:
到这里将加载您网站的消息部分,而无需进行AJAX调用.但是,如果你去:
您将登陆www.example.com,您可以使用AJAX将"/ messages"部分发送到您的服务器,在那里它可以将其解释为对该控制器的请求以获取该消息视图(或者您已经获得它建立).这是一种我见过的称为hijax的技术,因为您可以使用正确链接的实际锚元素来加密页面
http://www.example.com/messages
要么
但是在您的javascript中,您可以取消链接的操作并将浏览器重定向到:
http://www.example.com/#/messages
要么
既然你有其他的javascript函数正在侦听hash标记中的更改,那么它就像你直接转到那个链接一样...就是将"/ maps"发送到服务器,让服务器解释它,并回放您要填充页面的所需内容HTML.通过这种方式,搜索引擎可以抓取您的网站,您可以获得适合有和没有javascript的用户体验.
现在,在页面加载后加载其他Javascript功能,我相信,您可以简单地使用Javascript插入新标记,并将源添加到新脚本所在的位置.您可以使用jQuery的.getScript()方法轻松完成此操作:
http://api.jquery.com/jQuery.getScript/
至于所有这个脚本所在的位置......我猜这取决于你或Rails.解析URL哈希的能力是你必须要把它们放在一起的东西.为此,您可以选择许多jQuery库:
希望这可以帮助..