【发布时间】:2009-11-25 10:21:51
【问题描述】:
我希望通过 ajax 使用 jQuery $.post 命令提交一个表单。
表格如下所示:
<form action="/wine/merlot/reviews" class="new_review" id="new_review" method="post">
jquery 调用是:
$(document).ready(function() {
$('#new_review').submit(function() {
$.post($(this).attr('action'), $(this).serialize(), null, 'script');
return false;
});
});
我在服务器上收到以下错误:
ActionController::MethodNotAllowed(只允许获取、放置和删除请求。):
根据我通过使用 firebugs 控制台进行的挖掘可以看出,问题是帖子发布到了这个 url:
/wine/merlot 代替 /wine/merlot/reviews
我一辈子都想不通为什么会这样。
【问题讨论】:
-
我注意到,如果我在 url 中硬编码,那么事情似乎工作得很好,所以 $(this).attr('action') 一定失败了,但我不知道怎么做。
-
奇怪。您是否尝试过使用 $.load() 或 $.ajax() 代替?
标签: ruby-on-rails jquery