【发布时间】:2015-09-29 19:53:18
【问题描述】:
我正在使用 jQuery 的 $.get 函数从服务器获取 JSON 响应。
$.get(SITE_EDIT_HOME_URL,{key: key},function(r){
r = JSON.parse(r);
console.log(r);
});
这就是我接收请求并发送响应的方式
def group_fields
respond_to do |format|
format.js do
@group_fields = @site.theme.group(params[:key],@site);
return render json: @group_fields
end
end
end
检查网络,这是 Chrome 收到的响应:
{"type":"group","fields":[1,2,3,4]}
正确的 JSON 字符串。但是没有执行成功回调函数,也没有显示错误。怎么了?我怎样才能使这项工作?我必须创建group_fields.js 吗?我进行了测试,最后一个想法可行,但我失去了回调函数的上下文。
提前致谢
【问题讨论】:
-
如果成功回调函数没有被执行,验证chrome如何收到响应
r?另外,你不需要return render,render就可以了 -
我与检查员核实。检查元素 > 网络。我使用了 return 因为在我发布之前它下面还有另一个渲染。改变它不会影响情况
-
将
get更改为getJSON和format.js更改为format.json有什么作用吗?因为你有多种渲染类型,我想知道它是否找不到合适的。 -
好主意。我愿意。问题是什么?我知道请求类型已更改,但为什么 chrome 收到响应却什么也没做?
-
我想知道为什么我被否决了。这是一个合理的问题
标签: javascript jquery ruby-on-rails json ruby-on-rails-4