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>
ホワイトリストプラグインをインストールしてみてください。 – user5091906