Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 能够在控制台中获取JSON数据,但无法将其绑定到表单上的AJAX调用_Ruby On Rails_Ajax_Json - Fatal编程技术网

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

Ruby on rails 能够在控制台中获取JSON数据,但无法将其绑定到表单上的AJAX调用,ruby-on-rails,ajax,json,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); });

我正在通过浏览器控制台调用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')
但是,当我尝试将调用绑定到表单菜单中的选择器时,出现了一个错误:

未捕获的TypeError:对象json没有方法“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中-不确定这是否重要?

我不熟悉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);
    });

});

您是否检查了返回的数据是否是有效的json?谢谢你的提示,我会去看看那个网站。我能够解决这个问题,所以我把答案贴在下面。