Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跨源AJAX请求-XMLHttpRequest异常101_Javascript_Jquery_Ajax_Cordova_Cross Domain - Fatal编程技术网

Javascript 跨源AJAX请求-XMLHttpRequest异常101

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应用程序(
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(最新版本)。