【发布时间】:2009-09-16 20:27:51
【问题描述】:
我在 Rails 中使用 jQuery 时遇到了一点麻烦。
我想为特定列表项调用destroy 方法,然后通过ajax 从列表中删除它。我的代码很简单:
# _web_profile.html.erb - The partial containing the link to destroy:
<%= link_to 'Remove', web_profile, :method => :delete, :class => 'remove_button' %>
# The ajax hijacking
$('.remove_button').live('click', function() {
$.ajax({ type: 'delete', url: this.href });
return false;
});
# In my controller
format.js { render(:update) { |page| page.remove "web_profile_#{id}" } }
好的,基本上就是这样。当我按下按钮时,一切正常,但我没有执行脚本,而是在浏览器中得到了一个文本输出:
# Browser output
try {
jQuery("#web_profile_12").remove();
} catch (e) {
alert('RJS error:\n\n' + e.toString());
alert('jQuery(\"#web_profile_12\").remove();'); throw e
}
知道为什么不执行这个漂亮的 javascript 代码吗?我已经尝试将 dataType 添加到 ajax 请求中。
感谢和最好的问候, 乔
【问题讨论】:
-
你有原型吗?你解决了冲突吗?
-
对不起,听起来很愚蠢,但您没有错过
-
不包括原型,脚本标签在那里,为了可读性我删除了它。
-
你能不能用 bind 而不是 live 来尝试,只是为了排除 jQuery 的异常?
-
我也试过了——没有任何效果! ://
标签: javascript jquery ruby-on-rails browser