Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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
Ajax “输入不是有效的Base-64字符串”错误_Ajax_Asp.net Mvc_Http - Fatal编程技术网

Ajax “输入不是有效的Base-64字符串”错误

Ajax “输入不是有效的Base-64字符串”错误,ajax,asp.net-mvc,http,Ajax,Asp.net Mvc,Http,以下ajax调用因此消息而失败:输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非空白字符 getData: function (url, callback, errorCallback) { $.ajax({ url: ServiceHelper.GetCombinedURL(url), dataType: 'json', cache: false, async: fal

以下ajax调用因此消息而失败:输入不是有效的Base-64字符串,因为它包含非Base-64字符、两个以上的填充字符或填充字符中的非空白字符

getData: function (url, callback, errorCallback) {
    $.ajax({
        url: ServiceHelper.GetCombinedURL(url),
        dataType: 'json',
        cache: false,
        async: false,
        success: function (data) {

            if (data.ResponseType != 'SUCCESS') {
                viewModels.Main.busyMessage(undefined);
                viewModels.Main.message(data.Message);
                if (errorCallback != null) errorCallback();
            } else {
                if (callback != null) callback(data);
            }
        },
        error: function (xhr, e, s) {

            if (xhr.readyState != 4)
                return;
            viewModels.Main.busyMessage(undefined);
            viewModels.Main.message('Error occured. Please contact administrator for assistance.');
            if (errorCallback != null) errorCallback();
        }
    });
},
这是ajax调用的url:

http://localhost/TMO.SA.GenTrac.Web/Services?redirectURL=devwsnweb001/services/GenTracService/REST/GeneratorDetail/Ref/GeneratorStatus

这在一周前奏效了。我度假回来,突然间这一切发生了。上述代码均未更改。顺便说一下,调用success函数。什么原因会导致这种情况?

您发布的代码似乎与Base64解码无关,因此您的错误可能来自其他地方。堆栈跟踪将告诉您发生错误的确切行和文件,假设这是一个JavaScript错误,并且错误消息不是服务器返回的内容。查看服务器返回的实际响应对您也有指导意义。我们不知道您的服务器上正在运行什么,但完全有可能它正在生成错误消息,但仍然提供2xx成功响应。错误消息来自服务器。这正是尝试解码格式错误的base64字符串时.NET异常发出的消息。因此,服务器在响应数据请求时,可能在尝试解码该数据时失败了?而且,如果我直接从浏览器调用url,我会得到:填充无效,无法删除