使用cordova进行跨域请求

时间:2017-01-02 11:23:18

标签: android ajax cordova icons cross-domain

我意识到一个应用程序,我应该使用$ .getJSON通过http发送数据。

我的问题:当我使用chrome或其他浏览器测试它的通过但是当我生成apk并且我在手机上测试时它没有通过。

我认为这肯定是cordova(版本6.4.0)的配置问题

JS

 function jsoncallback(data){
     alert(data.service+" bien enregistré");
        $('#load').show();
            $('#imload').hide();
    }

function Service(service) {
    var var1 =$('#var1').val();
     var var2 =$('#var2').val();
   if(var1 == 0 || var2 == 0){
       alert('Service impossible.. ');
    }else{
        if(confirm("Choix : "+var1+" | "+var2)){
            $('#load').hide();
            $('#imload').show();
            $.getJSON("http://xxxx.xxxx.xx/service.php?var1="+var1+"&var2="+var2+"&jsoncallback=?");
         }
    }
}

的Config.xml

<access origin="*" />
   <plugin name="cordova-plugin-whitelist" spec="1" />
   <plugin name="cordova-plugin-whitelist" version="1" />

   <allow-intent href="http://*/*" />
   <allow-intent href="https://*/*" />
   <allow-intent href="tel:*" />
   <allow-intent href="sms:*" />
   <allow-intent href="mailto:*" />
   <allow-intent href="geo:*" />
   <allow-navigation href="http://*/*" />
   <allow-navigation href="https://*/*" />
   <allow-navigation href="data:*" />

   <platform name="android">
       <allow-intent href="market:*" />
   </platform>
   <platform name="ios">
       <allow-intent href="itms:*" />
       <allow-intent href="itms-apps:*" />
   </platform>

1 个答案:

答案 0 :(得分:2)

Cordova 6.4.0有许多关于插件,ajax请求等问题

还没有解决这个问题

许多SO用户要降级cordova以开始将项目投入其中

如果你的代码在浏览器中工作,那么你现在必须降级你的cordova版本。

检查以下问题的问题和答案,您将更加了解我的观点。

1)Cordova 6.4.0: android platfrom install Whitelist error

2)Cordova Ajax request pending for ever

使用以下代码降级cordova版本

npm uninstall -g cordova

npm install -g cordova@6.2.0