我希望以下代码在< div id ='job-status'>< / div>之间显示’hi mom’在原始页面上,但它不:
$(function () { function show_status() { $.get("<%= status_jobs_path -%>",function(data) { $('#job-status').html('hi mom'); },'json'); } show_status(); });
get()函数被触发:我看到请求到达我的服务器和一个包含我的JSON代码的200 OK响应.但是,函数(数据){…}中的alert()不会被调用,也不会在页面上显示“hi mom”.但是,如果我将代码分解为:
$(function () { function show_status() { $('#job-status').html('hi mom'); } show_status(); });
…然后它在< div id ='job-status'>< / div> ;.中显示'hi mom'. IASISO(我确定这是很明显的),但是我失踪了什么?
解决方法
我的猜测是你返回一个无效的json响应.尝试将其放在您的控制器操作中
render :json => { :message => "Hi mom" },:status => :ok