Javascript 跨源AJAX请求-XMLHttpRequest异常101
我有Cordova应用程序(Javascript 跨源AJAX请求-XMLHttpRequest异常101,javascript,jquery,ajax,cordova,cross-domain,Javascript,Jquery,Ajax,Cordova,Cross Domain,我有Cordova应用程序(Cordova 6.0.0),带有访问源代码*和HTTP API(通过POST发送数据),该应用程序将标题访问控制允许源代码设置为*。API正在域上运行,所以您可以检查它(是的,我正在从应用程序调用https)。当我尝试从应用程序中使用jQuery同步AJAX调用api时,我得到了 { "readyState":0, "status":0, "statusText":"Error: NETWORK_ERR: XMLHttpRequest Exc
Cordova 6.0.0
),带有访问源代码*
和HTTP API
(通过POST发送数据),该应用程序将标题访问控制允许源代码设置为*
。API正在域上运行,所以您可以检查它(是的,我正在从应用程序调用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
我想问题出在插件白名单或者类似的东西上,但是谢谢你的帮助 你需要提供更多关于你正在做什么和发生了什么的信息。请求到底是什么样子的?是POST请求还是飞行前选项请求?您使用的内容类型是什么?等等,反应到底是什么样的?服务器发送回客户端的状态是什么?@Quetin我将在一分钟内添加它。:)另外,请添加您正在使用的Cordova版本(Cordova--版本会告诉您),因为如果您使用的是版本5或更高版本,您可能会遇到内容安全策略问题。@SimonPickett好的,我添加了它,而对于您,我使用的是6.0.0(最新版本)。