Ruby on rails rails ajax请求
我在发送Ajax请求时遇到问题。当你点击链接时,请求被发送到服务器3次,但没有得到答复 为什么请求被发送三次以破坏? 我在形成查询时哪里出错了? 代码: run.html.erbRuby on rails rails ajax请求,ruby-on-rails,ajax,ruby-on-rails-3,Ruby On Rails,Ajax,Ruby On Rails 3,我在发送Ajax请求时遇到问题。当你点击链接时,请求被发送到服务器3次,但没有得到答复 为什么请求被发送三次以破坏? 我在形成查询时哪里出错了? 代码: run.html.erb ... <%= link_to "Next", "#", :id => 'next', :class => ... 控制器 def tff respond_to do |format| format.js render :text => "hello" end en
...
<%= link_to "Next", "#", :id => 'next', :class =>
...
控制器
def tff
respond_to do |format|
format.js render :text => "hello"
end
end
我最近遇到的一件事是jquery试图运行结果,因为默认数据类型将.js解释为脚本,而不是文本。您可能需要向ajax调用添加一个
数据类型:“text”
。我不知道这怎么会转化为三个电话
我原以为返回false会阻止单击继续,但正如apreading建议的那样,使用preventDefault()可能更好。我猜单击事件被绑定了多次,可能是因为脚本被调用了多次。由于我不熟悉rails,所以不确定多次调用的原因是什么 要避免这种情况,您可以在绑定click事件之前解除它的绑定,或者在api上使用
function ajaxRequest(){
$.ajax({
type: 'POST',
url: '/engine/tff',
success: function(data){
alert("ok");
$("#question").html(data);
}
});
return false;
}
$(“#下一步”)。解除绑定(“单击”)。绑定(“单击”,ajaxRequest)代码>
或
$(文档)。在(“单击”,“下一步”,ajaxRequest)代码>
另外,也不确定您是否试图在文档准备就绪时绑定,并且代码中存在键入错误。但它应该像这样包装:
$(function(){
$("#next").click(ajaxRequest);
});
您应该防止默认的点击操作返回false应该注意。。。
$(function(){
$("#next").click(ajaxRequest);
});