使用javascript响应格式发送ajax GET

时间:2014-03-06 10:14:04

标签: javascript jquery ruby-on-rails ajax ujs

我正在尝试执行以下操作

$("select.languages").on("change", function(){
        var lang = $(this).find("option:selected").text();
        $.get(url: "/search",
                data: {"lang": lang},
            dataType: 'script');
    });

因此,每次选择语言时,我都会使用语言和其他SO答案调用/search,使dataType为“script”

但这不太有用。工作是什么

$.get( "/search.js",{"lang": lang} )

然而这会污染网址,因为格式非常明确并且使用此方法需要我添加额外的无意义代码

我可以隐式设置响应格式吗?

2 个答案:

答案 0 :(得分:3)

请改为尝试:

$.ajax({
  url: "/search",
  data: {"lang": lang},
  dataType: 'script'
});

get shorthand method不接受参数作为这样的对象。

答案 1 :(得分:1)

可能是语法错误 - 我会尝试这个:

   $("select.languages").on("change", function(){
        var lang = $(this).find("option:selected").text();
        $.ajax({
            url: "/search",
            data: {"lang": lang}
        });
    });

由于您正在尝试发送JS请求,因此您可能甚至不需要dataType属性,因为Ajax默认情况下需要它: $.ajax - dataType