我在Rails中使用jQuery getScript在仪表板页面上加载AJAX搜索。但我注意到,除了正确地进行调用之外,它还将重新加载整个页面(在后台)。Rails AJAX请求也打电话给整个原始页面
我不知道为什么会发生这种情况。
我检查了我所有的before_filters,我的所有认证逻辑,我尝试过使用不同的jQuery ajax函数(get,getJSON等),但没有任何结果。它仍在重新加载页面。此外,这两条路线甚至在不同的控制器上!
有人知道可能会发生什么吗?
编辑:
已解决。
除了$ .get()函数之外,我还使用了$ .ajax({})函数来设置before函数。 $ .ajax中的某些内容一定是触发了这个调用,所以我简单地将新函数合并为一个,并解决了我的问题。
顺便说一句,尽管我在这个过程中发现了xhr.request?,它有助于检测javascript调用,并防止某些操作响应javascript。
显示响应AJAX调用的控制器操作。你也确定你正在发送正确的接受头文件吗?如:'text/xml','text/javascript'或'application/json'? – 2010-07-11 06:12:38
也同时,我使用一个简单的response.xhr? before_filter在/ dash页面(这是页面被再次调用),所以至少它不会返回任何东西,但它仍然很奇怪和烦人 – 2010-07-11 06:30:10
你应该将解析结果作为答案发布,你可以自己接听/接受问题,它可能会帮助未来有这个问题的人快一点:) – 2010-07-11 11:32:04