2017-10-17 8 views
0

私のラップトップからWiFiネットワーク(インターネットなし)のapi restにget ajaxリクエストを送信します。cordova ajaxリクエストローカルWi-Fiはラップトップで動作しますが、私のデバイスでは動作しません

これはうまくいっていますが、私の電話機から同じことをしようとすると、私は自分のajaxリクエストにネットワークエラーがあります。

私はアンドロイドデバイスでテストしています。 私はvisual studio 2017 comとcordovaで開発中です6.3.1 私のURIをconfig.xmlに追加しようとしましたが、私も '*'属性を持っています。

お願いします。 は、ここに私のコードです:

(function() { 
"use strict"; 

document.addEventListener('deviceready', onDeviceReady.bind(this), false); 

$('#testAPI').click(function() { 
    alert('test4'); 
    $.ajax 
     ({ 
      type: "GET", 
      url: "http://192.168.0.1/api/rest/v1/value", 
      dataType: 'json', 
      async: false, 
      //data: '{"username": "user", "password" : "password"}', 
      success: function (data) { 
       alert('test3'); 
       alert(data.value); 
       //$('#Temperature').html(parseFloat(data.value).toPrecision(4).toString() + ' °C'); 
       $('#testAPI').text(data.value); 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       alert("Status: " + textStatus); alert("Error: " + errorThrown); 
      }, 
      beforeSend: function (xhr) { 
       alert(username); 
       alert(password); 
       xhr.setRequestHeader('Authorization', 'Basic ' + btoa(username + ":" + password)); 
      } 
     }); 
}); 


function onDeviceReady() { 
    // Gérer les événements de suspension et de reprise Cordova 
    document.addEventListener('pause', onPause.bind(this), false); 
    document.addEventListener('resume', onResume.bind(this), false); 

    // TODO: Cordova a été chargé. Effectuez l'initialisation qui nécessite Cordova ici. 
    //var parentElement = document.getElementById('deviceready'); 
    //var listeningElement = parentElement.querySelector('.listening'); 
    //var receivedElement = parentElement.querySelector('.received'); 
    //listeningElement.setAttribute('style', 'display:none;'); 
    //receivedElement.setAttribute('style', 'display:block;'); 
}; 

function onPause() { 
    // TODO: cette application a été suspendue. Enregistrez l'état de l'application ici. 
}; 

function onResume() { 
    // TODO: cette application a été réactivée. Restaurez l'état de l'application ici. 
}; 
})(); 

私はここにホワイトリストプラグインと私のconfig.xmlの一部を使用:コンテンツセキュリティポリシーの問題だった

<allow-intent href="http://*/*" /> 
<allow-intent href="https://*/*" /> 
<allow-intent href="tel:*" /> 
<allow-intent href="sms:*" /> 
<allow-intent href="mailto:*" /> 
<allow-intent href="geo:*" /> 
<platform name="android"> 
<allow-intent href="market:*" /> 
<access origin="*" /> 
<allow-navigation href="*" /> 
</platform> 
+0

ホワイトリストプラグインをインストールしてみてください。 – user5091906

答えて

0

[OK]を。 ありがとう

関連する問題