我正在从我的笔记本电脑发送一个get ajax请求到我在无线网络中的api休息(没有互联网)。
它运行良好但是当我尝试从我的手机设备执行相同操作时,我的ajax请求中有一个网络错误捕获。
我正在使用Android设备进行测试。 我正在使用visual studio 2017 com和cordova 6.3.1开发 我试图在config.xml中添加我的URI,我也有'*'属性。
你可以帮帮我吗? 这是我的代码:(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 :(得分:0)
好的那就是内容安全策略的问题。 感谢