PhoneGap 1.5.0 Android Cordova AJAX JSON

我一直试图通过运行最新1.5.0 PhoneGap的Android PhoneGap应用程序发送一天的AJAX请求。 我已经尝试了来自stand jQuery包(不是jQuery Mobile)的GET,POST,AJAX,getJSON请求。 所有这些都在标准浏览器中运行,但App中没有任何工作。

这是我最新的jQuery AJAX代码

$.get( 'http://www.fakedomainname.com/ajax/user_login.php', $('#emailLoginForm').serialize(), function(json) { //console.log(json); alert(json.status); }, 'json' ); 

这是我的PHP代码

 header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']); header('Cache-Control: no-cache, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header('Content-type: application/json'); $output['status'] = 99; //new user echo json_encode($output); 

我在我的AndroidManifest.xml中添加了clearCache

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.clearCache(); super.loadUrl("file:///android_asset/www/index.html"); } 

我已将此添加到/res/xml/cordova.xml

  

我还缺少什么? 我无法获得GET jQuery请求以成功提醒任何内容? 我确保清除缓存。 我已经将我的php文件的标题和我的cordova.xml文件中的跨域问题列入白名单。 我迷路了,有没有人用新的PhoneGap 1.5.0成功创建了一个AJAX呼叫?

错误是我的错。 我正在点击的URL还包括一个检查用户代理是否是移动设备的function。 如果是这样,它会将呼叫重定向到我要求的域/网站的移动友好版本。 结果我的json值永远不会被返回。 我删除了移动设备检查function,上面的所有设置都完美无缺。

您是否已将Internet权限添加到Android manifest.xml:

  

如果是这样,它是否在正确的位置( 不在应用程序标签内)?

 super.init(); super.clearCache(); 

你错过了init 。 尝试添加以上内容。