无法调试getJSON调用

时间:2015-10-26 15:27:46

标签: jquery ruby-on-rails json

我有一个Rails应用程序,我有一个返回JSON数据的控制器:

 respond_to do |format|
   format.html { render :html => data }
   format.json { render :json => data.to_json }
 end

如果我通过浏览器加载这一切都很好。

我有一个简单的表单,我试图验证从JSON查找输入的数据。现在我一直坚持让JSON调用工作。

这是我的JS(咖啡脚本):

$(document).ready ->
  $('#validate-data').click ->
    alert "hello!"
    $.getJSON '/mycontroller/data/myparameter', (data) ->
       obj = data
       msg = []
       for i of obj
         msg.push i + ' = ' + obj[i]
       alert msg.join('\n')
      return
    return
  return

当我点击我的验证按钮时,我会弹出hello!弹出窗口,稍等片刻后,我会弹出0 = [object Object]

我的http调用产生如下数据:

[ { "query": "myparameter", "response": { "status": "ok", "err": [], etc...

我得到的印象是,在getJSON调用之后,数据已被解析,您只需调用alert data.response.status即可获得弹出窗口"ok"

我怀疑我在这里遗漏了一些明显或微不足道的东西,或者我根本没有掌握这一点。

1 个答案:

答案 0 :(得分:1)

我可以从你提到的问题data看到,你在数组中有一个哈希。

[ { "query": "myparameter", "response": { "status": "ok", "err": [

您访问错误,这就是为什么您没有按预期的那样获得输出。您必须执行data[0].response.status,这是您要在comment中说明的结果。