为什么我的jQuery.get()回调没有被调用?

Why isn't my jQuery.get() callback being called?

本文关键字:调用 回调 我的 jQuery get 为什么      更新时间:2023-09-26

我希望下面的代码在原始页面的<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) { ... }内部的alert()永远不会被调用,页面上也不会显示'hi mom'。但是,如果我将代码简化为:

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

…然后在<div id='job-status'></div>中显示'hi mom'。

IASISO (I Am Sure It's Something Obvious),但我错过了什么?

我猜您返回的是无效的json响应。试着把它放到控制器动作

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