0

我检查了我的 PHP 函数的日志,并且我已经正确格式化了从该方法返回的 JSON 数据。AJAX 正在调用它并返回,得到响应变量的空值。有任何想法吗?这是 AJAX 代码:

$.ajax({
       type: "POST",
       url: "index.php/controllerFile/get_standby",
       data: 'id=' + $(this).attr('id'),
       success: function(response){  


             console.log('response is: ' + response); //It is null here
         $.colorbox({'href':'index.php/config/view/standby' + response.urlData,'width':1000,'title':'Standby People'});         
       },

       dataType:'json'
     });

这是PHP函数:

function get_standby()
    {

        $id = $this->input->post('id');

        $this->load->model('teetime');
        $url['urlData'] = ($this->teetime->get_standby_by_id($id));

        $printing = json_encode($url);
        log_message('error', 'JSON ' . $printing);
        return $printing;

    }
4

2 回答 2

1

我建议在 Chrome 中打开开发者工具(查看 > 开发者 > 开发者工具)并选择网络选项卡。当您的 AJAX 发布请求发出时,它应该在那里添加一个条目(“路径”列应该是“index.php/controllerFile/get_standby”,“方法”列应该有“POST”)。单击请求所在的行并检查响应选项卡以确保您的 JSON 存在。

如果响应为空,则问题出在 PHP 代码上(您可能没有将从该函数返回的 JSON 打印到页面)。否则,这似乎是您的 JavaScript 的问题。

于 2013-07-21T02:16:55.967 回答
1

尝试在 PHP 中使用 echo 而不是 return。

echo $printing;
于 2013-07-21T02:31:13.577 回答