2017-10-17 1 views
0

Ich sende eine Ajax Anfrage von meinem Laptop zu meinem api Rest in Wifi-Netzwerk (ohne Internet).cordova ajax Anfrage lokale wifi funktioniert in Laptop, aber nicht auf meinem Gerät

Es funktioniert gut, aber wenn ich versuche, das gleiche von meinem Telefon Gerät zu tun, habe ich einen Netzwerkfehler in meiner Ajax Anfrage fangen.

Ich teste mit Android-Gerät. Ich entwickle mit Visual Studio 2017 com und Cordova 6.3.1 Ich habe versucht, meine URI in der config.xml hinzufügen, ich habe '*' Attribut auch.

Können Sie mir bitte helfen? hier ist mein Code:

(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. 
}; 
})(); 

I Whitelist-Plugins verwenden und hier ein Teil meines 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

Versuchen Sie, Whitelist-Plugin zu installieren. – user5091906

Antwort

0

Ok, dass der Inhalt Sicherheitspolitik das Problem war. Danke

Verwandte Themen