0

我正在尝试让 jsonp 与 codeigniter 一起使用,我正在生成具有正确标头的标准 json ..

   $this->output
        ->set_content_type('application/json')
        ->set_output($json_data);
    }

因此为 json 设置了正确的标头,并且使用上述方法生成的 json 没有任何问题..

现在使用 jquery ,我正在测试

<script>
  $(document).ready(function(){
  var url = "https://localhost/upload/latest/json/10&callback=?";
    $.getJSON(url,function(data) {
        alert(data);
    }); 
  });
  </script>

它不会显示任何警报

而 twitter 的 jsonp url 显示警报

<script>
  $(document).ready(function(){
  var url = "https://twitter.com/status/user_timeline/twitter.json?count=10&callback=?";
    $.getJSON(url,function(data) {
        alert(data);
    }); 
  });
  </script>

我在配置中启用了查询字符串。

$config['enable_query_strings'] = TRUE;

请指导我如何在codeigniter中设计jsonp的url ..

谢谢 ...

4

1 回答 1

2

我很确定你必须为 JSONP 返回这个,即调用指定的回调函数

<?php header('content-type: application/json; charset=utf-8');

$json = json_encode($data);

echo isset($_GET['callback'])
    ? "{$_GET['callback']}($json)"
    : $json;
于 2011-07-25T19:02:31.970 回答