我有带有access origin *
和HTTP API
(通过 POST 发送数据)的 Cordova 应用程序 ( Cordova 6.0.0
),它header Access-Control-Allow-Origin
设置为 *
.API 在域 https://api.stude.cz 上运行,因此您可以检查它(是的,我正在从应用程序调用 https)。好吧,当我尝试从应用程序使用 jQuery 同步 AJAX 调用 api 时,我得到了
{
"readyState":0,
"status":0,
"statusText":"Error: NETWORK_ERR: XMLHttpRequest Exception 101"
}
它是JSON字符串化的,因为Android Studio不支持在控制台中显示数组。你知道为什么吗?我花了很多时间在这个...
我的要求:
function apiRequest(type, action, params) {
var returnValue = false;
console.log('started');
$.ajax({
url: 'https://api.stude.cz/' + type + '/' + action,
type: 'post',
async: false,
crossDomain: true,
data: params,
success: function(data){
returnValue = data;
},
error: function(data){
console.log(JSON.stringify(data));
returnValue = JSON.stringify({status:"error"});
}
});
return(returnValue);
}
我测试了:
type = user
action = login
params = {email: -some email-, password: -some password-}
我通过删除和添加Android平台解决了它。
cordova platform rm android
cordova platform add android
我认为问题出在插件白名单或类似的东西上,但感谢您的帮助!