我有一个带有jquery-ujs的rails 3应用程序,我想知道是否可以在运行时动态指定ajax调用的数据类型。通过绑定ajax事件,我的链接都是不引人注目的:
item.bind("ajax:beforeSend", function(e, request, settings) {
...
});
但不幸的是,默认的dataType是json,我想知道我是否可以在ajax调用之前改变它。我知道我可以这样做,基于每个链接:
<%= link_to('My Link', path,
:remote => true,
:method => :put,
:id => 'my-link',
'data-type' => 'html',
:class => 'button') %>
但这并不是很干,因为我必须在每个链接上都这样做。
我发现我可以全局设置此字段:
$.ajaxSetup({ dataType: 'html' });
但是我想知道是否有人知道如何在bind方法或项目本身中执行此操作?
我想到的唯一一件事(正如我写的那样)是将数据类型属性添加到JS中的标记,但是我不确定在JS执行时是否已经设置了ajax。
有什么想法吗?
答案 0 :(得分:0)
对我来说,这是一种快速而又肮脏的方式:将后缀添加到网址:
"#{link_to some_path}.html"
"#{link_to some_path}.js"