栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Rails Ajax:.js.erb呈现为文本,而不是JS

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Rails Ajax:.js.erb呈现为文本,而不是JS

我认为问题不在于您的服务器端代码。对我来说一切都很好。它正在呈现的

edit.js.erb
事实证明您的服务器端代码运行良好。

问题出在您的客户端。当它收到Ajax响应时,就不会将其作为javascript执行。它以文本形式执行。

我本人最近遇到了这个问题,希望我可以随身携带我的代码,但我正在工作。但是,我亲自编写了jQuery Ajax请求,而不是依靠它,

:remote =>true
因为该选项主要在表单中使用。

尝试提供您

link_to
的ID,然后将此jQuery放在您的
application.js
或任何位置。

$('#link_id').click(function(){   $.ajax({      type : 'GET',      url : '/:controller/:action/',      dataType : 'script'   });   return false;});

这将捕获链接的click事件,向服务器发送请求,该请求应返回您的

edit.js.erb
文件,然后将其作为脚本执行。

提醒您,要考虑很多安全问题,以及真实性令牌等。但是,这应该使您的警报得以执行,并使您正确完成应用程序。

阅读jQuery的Ajax,以获取更多选项以及有关POSTing数据的详细信息。

希望这可以帮助。

更新:其他可能的解决方案包括使用UJS作为Javascript驱动程序。您可以阅读https://github.com/rails/jquery-
ujs上
的文档,并使用UJS 观看主题Unobtrusive
Javascript
的Railscast 。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409909.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号