Php 编码点火器中的JSONP

Php 编码点火器中的JSONP,php,jquery,codeigniter,jsonp,Php,Jquery,Codeigniter,Jsonp,我在CodeIgniter中使用jQuery JSONP方法$.getJSON时遇到问题。从中获取JSON的URL如下所示: http://spinly.000space.com/index.php/admin/isloggedin 问题是我有一个demo.html文件,它运行$.getJSON方法,并从上面提到的URL获取数据 demo.html: <html> <head> <script src="http://www.spinly.000space

我在CodeIgniter中使用jQuery JSONP方法
$.getJSON
时遇到问题。从中获取JSON的URL如下所示:

http://spinly.000space.com/index.php/admin/isloggedin  
问题是我有一个
demo.html
文件,它运行
$.getJSON
方法,并从上面提到的URL获取数据

demo.html

<html>
<head>
  <script src="http://www.spinly.000space.com/public/js/jquery.js"></script>

  <script>
  $(document).ready(function(){
  var myurl = "http://spinly.000space.com/index.php/admin/isloggedin/&jsoncallback=?";

    //myurl = "http://com.lnk.bz/jsonp.php?sleep=3&jsoncallback=?";
    $.getJSON(myurl,function(adat) {
        alert(adat);
     //   clearTimeout(t);
    }); 

  });
  </script>
</head>
<body>
  <div id="images">
  </div>
</body>
</html>

$(文档).ready(函数(){
var myurl=”http://spinly.000space.com/index.php/admin/isloggedin/&jsoncallback=?";
//myurl=”http://com.lnk.bz/jsonp.php?sleep=3&jsoncallback=?";
$.getJSON(myurl,函数(adat){
警报(adat);
//清除超时(t);
}); 
});

当我运行
demo.html
时,什么都没有发生。如您所见,当我将URL更改为另一个不使用CodeIgniter作为框架的URL时,它应该会提醒返回的数据。我运行了警报函数,但在本例中,当使用CodeIgniter备份的URL时,它不起作用。有人能解决我的问题吗?如果你能给我一些反馈,我将不胜感激。提前谢谢

url中的符号有误:

loggedin/&jsoncallback=?
它应该是类似于

loggedin/?jsoncallback=?
运行我得到的响应

jsonp123( ...

这意味着它试图调用jsonp123函数,而此时代码的adat部分从未被使用。

默认情况下,CI不允许查询字符串,那么您是否在config.php中启用了启用查询字符串

$config['enable_query_strings'] = TRUE;

还要确保在config.php中将
$config['allow\u get\u array']
设置为
TRUE
。这将允许您使用

$this->input->get()


在控制器中

我认为您面临的问题是因为浏览器限制不允许跨域请求。我猜你正在其他域/子域上托管你的应用程序,这就是导致此问题的原因

您需要使用的是JSONP,即带有填充的Json。详情如下:


在这里查看jQuerysAjax api中的jsonp:看看这是否解决了您的问题

postpostmodern:我已经更改了代码,现在显示了{“title”:“user online”,“user”:{“online”:“yes”}},但仍然不起作用。getJson方法生成了一个新函数,该函数被替换到url中,发送时类似于:loggedin/?jsoncallback=jsonp1239837994134&=1239838173986尝试用以下内容替换php:$cb=$\u GET['jsoncallback'];echo$cb;echo'({“test”:true})”;这有点令人困惑。正在寻找一种在CI中实现jsonp的好方法…在详细说明之前,您能否指定您使用的CI版本,以及它是“Core”还是“Reactor”?此URL不再有效。