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重定向我的请求所以我的所有获取数据都丢失了,这是一个样本
重定向的网址是
答案 0 :(得分:0)
我不知道它是怎么发生的,我甚至无法解释它,但我解决问题的方法是将我的控制器添加到codeigniter route.php文件中作为默认控制器之后仍在进行操作,因此我将WWW添加到我的网址,它正在工作,我的意思是
我的新网址是
而不是我以前使用的那个:
唯一不同的是WWW