我正在尝试执行一个非常简单的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}]
我似乎无法找出为什么我会得到解析错误及其实际含义。
希望你能提出建议。
答案 0 :(得分:2)
好的,我终于解决了。
基本上是因为render =&gt; :json已经创建了对象,我需要做的就是做一个普通的get请求,然后循环我的数据。
希望这有助于将来。