PHP 函数为 jQuery.ajax 调用中的成功方法返回 'null'

标签 php jquery ajax json

我有一个与此非常相似的问题:jquery json function returning null .

但是,我已经遵循了上面包含的建议,结果仍然看到 null

这是我的代码:

JS:

Gallery.prototype.getImages = function(opt){
  var self = this;
      var baseurl = 'http://local.gallery.dev'
  $.ajax({
    url: baseurl+='/controllers/ajax.php',
    type: 'POST',
    contentType: 'application/json; charset=utf-8',
    data: {action : opt},
    dataType: 'JSON',
    success: function(data){
        //self.setImages(data);
        console.log(data)
    },
    error: function(){
        console.log('NOPE');
    }
  });
}

PHP:

class ajax_controller {

function __construct(){

    if(isset($_POST['action']) && !empty($_POST['action'])) {
        $action = $_POST['action'];
        switch($action) {
            case 'Newborn' : $this->Newborn();
                break;
        }
    }
}
/*
 * Process Newborn Gallery request.
 */
public function Newborn(){
    header('Content-type: application/json');
    echo json_encode(array(
      'images/gallery/albums/newborn/kylie/thumbnail/kylie-album.jpg',
      'images/gallery/albums/newborn/payton/thumbnail/payton-1-thumbnail.png'
    ));
}
}

控制台/调试器/网络面板都说我正在与 ajax Controller 正确对话,但是,成功方法的 data 只返回 null。

我是 PHP 的新手,非常感谢任何建议。

谢谢,肯

更新

我的电话仍然返回 null,所以我想我应该在此处粘贴我的 header 。

Request URL:http://local.sunnyrose.dev/controllers/ajax.php
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:14
Content-Type:application/json; charset=UTF-8
Host:local.sunnyrose.dev
Origin:http://local.sunnyrose.dev
Referer:http://local.sunnyrose.dev/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.11 (KHTML,              

like Gecko) Chrome/17.0.963.56 Safari/535.11
X-Requested-With:XMLHttpRequest
Request Payload
action=Newborn
Response Headersview source
Connection:Keep-Alive
Content-Length:0
Content-Type:application/json
Date:Mon, 05 Mar 2012 17:49:53 GMT
Keep-Alive:timeout=5, max=92
Server:Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l PHP/5.3.1 mod_perl/2.0.4       

Perl/v5.10.1
X-Powered-By:PHP/5.3.1

最佳答案

在构造函数末尾回显。我认为您没有在 Controller 中回显任何内容,因此 ajax 响应为空。 我们使用哪个框架?

关于PHP 函数为 jQuery.ajax 调用中的成功方法返回 'null',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9562484/

相关文章:

javascript - super 卷轴导航

PHP 检查数据库中的用户 ID

php - 如何从PHP表列表中获取ID

php - PHP MySQL 问题并插入 UTF-8

php - 在 PHP 中通过引用传递还是返回数组?

javascript - 如何根据焦点切换输入类?

javascript - 使用 Google map 地理编码器以及国家/地区的地址和组件限制

php - 如何在 firefox 的网页上显示 php 错误信息?

php - Jquery和PHP更新mysql数据库

javascript - $.post导致点击事件递归