0

我在 codeigniter 框架内工作,并在页面加载时发出以下 ajax 请求:

$.ajax({
        url: '/beta/images/loadImages',
        type: 'POST',
        dataType: 'json',
        data: {id: id},
        success: function(json, textStatus, xhr) {
            alert('success');       
        }
        }, error: function(json, textStatus, errorThrown) {
            alert(errorThrown);
        }
    });

强文本

public function loadImages()
    {
        $galleryID = $this->input->post('id');

        $data      = array('images' => $this->image_gallery->get_slideImages($galleryID) );

        echo json_encode($data);
    }

最后是模型

public function get_slideImages($galleryID)
    {
        $this->db->select('id');
        $this->db->where('galleryID', $id);

        $query = $this->db->get('image_images');

        $result = $query->result();
        return $result;
    }

Chrome 中的 JSON 返回

{"images":[{"id":"34","galleryID":"57","clientRef":"205","imageName":"769074051374530545.jpg","orgName":"P9180021.jpg","order":"0","timestamp":"1374530546"}]}

该错误仅发生在 iPad 和 iPhone 上。SyntaxError: JSON Parse Error: Unrecognized token '<' 关于这个有什么想法吗?

4

1 回答 1

1
url: '/beta/images/loadImages',
type: 'POST'

如果您只是在加载某些内容(尤其是在页面加载时),为什么要使用POST? 改为使用GET

您收到 JSON 解析错误,因为您没有返回有效的 JSON(您正在返回 html/xml)。唯一可能的解释是您有一些服务器端逻辑

if browser == mobile 
     return html/xml 
          else 
     return JSON
于 2013-07-23T19:56:29.460 回答