jQuery ajax(带rails):在运行时指定dataType

时间:2012-04-10 07:34:11

标签: jquery ajax ruby-on-rails-3

我有一个带有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。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

对我来说,这是一种快速而又肮脏的方式:将后缀添加到网址:

"#{link_to some_path}.html"
"#{link_to some_path}.js"