跨源 AJAX 请求 - XMLHttpRequest 异常 101

Cross-origin AJAX request - XMLHttpRequest Exception 101

本文关键字:异常 XMLHttpRequest AJAX 请求 跨源      更新时间:2023-09-26

我有带有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

我认为问题出在插件白名单或类似的东西上,但感谢您的帮助!