jquery crossdomain错误回调函数未被调用codeigniter重定向我的请求

时间:2014-09-04 14:38:14

标签: jquery codeigniter

jquery crossdomain错误回调函数未使用codeigniter调用。这是我的代码

$.ajax({type:"GET",
    url:url,
    xhrFields: { withCredentials: true },
    crossDomain: true,
    dataType:'jsonp',
    success:function(data){
        callback(data,extra_data)
    },
    error:function(){
        pq.network_error('Connection Lost!!!')
    }
})

这是我的codeigniter控制器代码。

function login(){
$result=$this->user->login($this->input->get('user'),$this->input->get('pass'));
if($result){
die($this->__callback(json_encode(array('code'=>TRUE,'token'=>$user_token,'email'=>$result['ProfileDetails']['email']))));
else
    {
        die($this->__callback(json_encode(array('code'=>'Invalid Username or Password!!!..'))));
    }

function __callback($obj){  
return  $this->input->get('callback')."(".$obj.")";

}

当我在我的主机上运行此代码时,jquery

$this->input->get('user') ,$this->input->get('pass') , $this->input->get('callback')

是空的,所以jquery抛出错误说回调函数没有被调用但是当我在chrome中检查网络时我发现codeigniter重定向我的请求所以我的所有获取数据都丢失了,这是一个样本

http://peequest.com/mobile/login?callback=jQuery1102021599671430885792_1409841367038&user=08130610626&pass=olatunji16&_=1409841367039

重定向的网址是

http://www.peequest.com/index.php?/mobile/login

1 个答案:

答案 0 :(得分:0)

我不知道它是怎么发生的,我甚至无法解释它,但我解决问题的方法是将我的控制器添加到codeigniter route.php文件中作为默认控制器之后仍在进行操作,因此我将WWW添加到我的网址,它正在工作,我的意思是

我的新网址是

http://www.peequest.com/mobile/get_feed_comm/41?callback=jQuery110207901261900551617_1409898432426&_=1409898432428

而不是我以前使用的那个:

http://peequest.com/mobile/login?callback=jQuery1102021599671430885792_1409841367038&user=08130610626&pass=olatunji16&_=1409841367039

唯一不同的是WWW