我对使用 phonegap、codeigniter 和 jQuery Mobile(我的第一个项目)非常陌生,目前在客户端和服务器端使用 jQuery Mobile 创建了一个应用程序,我使用 Codeigniter 框架创建了一个 RESTful API。现在,当我在本地开发时,浏览器中的应用程序(尚未使用 phonegap)与 API 通信很好,没有出现问题。
我昨天将 Codeigniter API 放在服务器上,现在遇到了 2 个问题:
使用 jQuery Mobile 构建的应用程序不断收到以下错误:
Access-Control-Allow-Origin 不允许 Origin localhost。
现在我做了一些阅读,大多数人说使用 jsonp 而不是 json 并且在服务器端使用以下内容:
$CI->output->set_header("Access-Control-Allow-Origin: *");
$CI->output->set_header("Access-Control-Expose-Headers: Access-Control-Allow-Origin");
$CI->output->set_status_header(200);
$CI->output->set_content_type('application/json');
现在我的问题是我不完全确定哪个是用来解决问题的,天气这两者都需要实施等等。如果需要修复它们,它是如何完成的?是否有一个有据可查的地方可以教我如何处理这个问题,最好我想在哪里阅读以便我可以学习?
第二个问题是当我将 jQuery Mobile 应用程序放入 phonegap 并为 Android 构建它时。该应用程序无法从服务器获取数据。现在是因为上面的跨域错误,还是这个问题不同?我也在本节中进行了一些阅读,并在我的 Android config.xml 中添加了以下代码:
但是我仍然无法从服务器中提取任何内容。就像我说的那样,我是一个新手,但非常感谢在这件事上提供一些帮助。另外我知道我没有发布代码,但根据评论我将发布社区需要哪些代码来帮助解决这个问题,只需指定哪些代码。提前感谢您的帮助!