嗨,我正在为 android 开发一个应用程序(使用 phonegap、html5 和 javascript),它将自身连接到远程 mysql 数据库。我创建了一个 RESTful (codeigniter) Web 服务来访问 mysql 数据库,然后 Android 应用程序可以调用 Web 服务来获取或发布数据到数据库,使用 XML 或 JSON 作为数据格式。
在使用 jquery ajax 的网络浏览器中,我成功地得到了结果,但在 android 应用程序中没有得到响应。
jQuery.ajax({
url : 'http://10.10.1.129/index.php/apiauth/auth/?'+jQuery("#form-login").serialize(),
async :true,
cache :false,
/*crossDomain : true,*/
dataType : 'jsonp',
success:function(data){
alert(data);
}
});
在服务器中:
require APPPATH.'/libraries/REST_Controller.php';
class Apiauth extends REST_Controller
{
function auth_get()
{
$this->load->model('mauth');
$username = $this->input->get('username') ? $this->input->get('username') : $this->get('username');
$password = $this->input->get('password') ? $this->input->get('password') : $this->get('password');
$auth = $this->mauth->getUserLogin('*',$username,$password);
$row = $auth->row();
if($row){
$data = array('username'=>$row->username, 'fullname'=>$row->fullname,'error'=>FALSE);
}else{
$data = array('error'=>true);
}
$this->response($data, 200);
}