为什么不调用我的jQuery.get()回调?

时间:2011-12-30 04:23:55

标签: javascript jquery ruby-on-rails-3 json callback

我希望以下代码在原始页面的<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响应。但是function(data) { ... }体内的警报()永远不会被调用,页面上也没有显示'hi mom'。但是,如果我将代码删除到:

$(function () {
    function show_status() {
        $('#job-status').html('hi mom');
    }
    show_status();
});

...然后它会在<div id='job-status'></div>内显示'hi mom'。

IASISO(我确定它显而易见),但我错过了什么?

1 个答案:

答案 0 :(得分:11)

我的猜测是您返回了无效的json响应。尝试将其放入控制器操作中

 render :json => { :message => "Hi mom" }, :status => :ok