1

我正在尝试在 Kindle Fire 中使用 phonegap/cordova v2.4 请求跨域。我也在使用 jquery/jquery mobile 作为测试用例。过去我在使用 android 设备时没有遇到任何问题,但是当我迁移到 Kindle 时,我似乎无法让请求正常工作。我非常简单的 JS

function deviceInfo(){

alert('hi');
$.ajax({
  url: "URL",
  dataType: 'jsonp',
  crossDomain:true,
  success: function(suc){
      alert('suc');
  },
  failure:function(msg){
      alert('msg');
  }
});}
$(function() {
document.addEventListener("deviceready", deviceInfo, true);
});

我的 phonegap 配置文件具有以下内容

<access origin="*" />
<access origin=".*"/>
<access origin="http://127.0.0.1*" />
<access origin="http://localhost:65198*" />

我已经尝试了多种变体,试图让它允许任何 url,但跨域似乎仍然是一个问题。我可以在网络浏览器中本地测试它,它工作正常。我也尝试过使用本地和远程服务器,但都不能在应用程序中工作,但在浏览器中却很好。

还尝试 了 phonegap jQuery .ajax 跨域请求在浏览器中工作,在 Android SDK 中失败 我有这些权限

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
4

1 回答 1

0

我能够让它工作。在这种情况下肯定是用户错误。wifi 连接试图使用隔壁的几个 wifi。它首先使用了一个打开的设备,并更新了一些设备应用程序,给人的印象是它已连接。然后它丢失了信号并尝试切换到通过 url 保护的 wifi,而不是拥有 wifi 密码,所以它最终说它已连接但无法实际处理任何请求。在我切换到使用自己的 wifi 后,一切都很顺利。

于 2013-02-14T15:45:44.843 回答