jQuery getJson Parseerror Json Data

时间:2011-04-02 01:49:46

标签: ruby-on-rails jquery

我正在尝试执行一个非常简单的getJson()请求,但无论我改变什么,我都会从jQuery获得parseerror。

我正在使用ROR 3.01,Mongoid2.0,jQuery 1.5.2

Controller发送json

    class SuggestController < ApplicationController

      def states
          states = States.only(:name, :state_id).where(:country_code => params[:country])
          render :json => states.entries
      end

    end

Jquery处理响应。

    $("#property_country").change(function(){

        $.getJSON("/suggest/states",{country: $(this).val(), ajax: 'true'}, function(j){
        var options = '';
        for (var i = 0; i < j.length; i++) {
          options += '<option value="' + j[i].state_id + '">' + j[i].name + '</option>';
        }
        $("select#property_state").html(options);
      });

    });

  $.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {   
        alert(textStatus);
        alert(errorThrown);
        alert(XMLHttpRequest.responseText);
  }});

json响应的例子

[{"_id":"4d925dbe4aa6936d4f0cdefe","name":"Devon","state_id":1},{"_id":"4d925dbe4aa6936d4f0cdeff","name":"Berwickshire","state_id":2}]

我似乎无法找出为什么我会得到解析错误及其实际含义。

希望你能提出建议。

1 个答案:

答案 0 :(得分:2)

好的,我终于解决了。

基本上是因为render =&gt; :json已经创建了对象,我需要做的就是做一个普通的get请求,然后循环我的数据。

希望这有助于将来。