能够在控制台中获取JSON数据,但无法将其绑定到表单上的AJAX调用

时间:2012-04-17 21:04:49

标签: ruby-on-rails ajax json

我正在通过浏览器控制台调用JSON请求,并且能够获得预期的响应。这是电话:

$.get("/settings/getstates?account%5Baddresses_attributes%5D%5B0%5D%5Bcountry%5D=US", function(data){
  console.log(data);
    var items = [];
    $.each(data, function(key, val) {
    items.push(val.name);
  });
    alert(items);   
}, 'json')

但是当我尝试将调用绑定到表单菜单中的选择器时,出现错误:

Uncaught TypeError: Object json has no method 'apply'

这是与AJAX绑定相同的调用:

$(document).ready(function() {

    $("#country").bind('ajax:success', function(evt, data, status, xhr){
      console.log(data);
        var items = [];
        $.each(data, function(key, val) {
        items.push(val.name);
      });
        alert(items);
    }, 'json')

});

这是在Rails 3.2中 - 不确定这是否重要?

1 个答案:

答案 0 :(得分:0)

我是JS / jQuery等人的新手,所以这可能是一个愚蠢的错误。我找到了解决方法。我只需要删除最后一行中的'json'引用,结果是:

$(document).ready(function() {

    $("#country").bind('ajax:success', function(evt, data, status, xhr){
      console.log(data);
        var items = [];
        $.each(data, function(key, val) {
        items.push(val.name);
      });
        alert(items);
    });

});