gpt4 book ai didi

javascript - 与未定义相比,类型错误 - 数据为空

转载 作者:行者123 更新时间:2023-12-03 07:50:41 25 4
gpt4 key购买 nike

我有一些代码给我带来了错误 - 而且我似乎无法在 javascript 中找到解决方法或好的解决方案。

        var data = new FormData();

$.each(files, function(key, obj)
{
data.append(obj.name, obj.file);
});

data.append('submitCustomizedDatas', 1);
data.append('ajax', 1);
$.ajax({
url: $('#customizationForm').attr('action'),
type: 'POST',
data: data,
cache: false,
dataType: 'json',
processData: false,
contentType: false,
async: false,
success: function(data, textStatus, jqXHR)
{
if(typeof data.errors === 'undefined')
{
$.each(files, function(key, obj)
{
$('input[name="'+obj.name+'"]').addClass('filled');
previewFile($('input[name="'+obj.name+'"]'), obj.file);

});
$('.uploadingfiles').text('Upload Complete!');
}
else
{
$('.uploadingfiles').text('Error while uploading, please refresh the page and try again');
}
$('.myoverlay').click(function(){$(this).remove()});
},
error: function(jqXHR, textStatus, errorThrown)
{
$('.uploadingfiles').text('ERRORS: ' + errorThrown);
$('.myoverlay').click(function(){$(this).remove()});
}
});

这用于在我正在制作的网站上上传文件。

这部分 Ajax 在成功时会在 JS 控制台中引发错误。错误是在这一行显示“数据为空”:

if(typeof data.errors === 'undefined')

只是好奇这看起来是否正确,或者是否有一些非常明显的东西我在这里丢失了。

最佳答案

在 JavaScript 中,the opening brace placement matters 。由于左大括号的位置,您的代码的含义可能与您认为的含义不同。

此外,.success 和 .error 的使用已被弃用。 Consider using .done or .fail methods.

Typeof null 返回一个对象,因此如果 data.errors 为 null,则检查将失败。考虑做

if (!data.errors) {
...
}

最后,从服务器返回的数据可能为空。这将导致您看到的空异常。您可以调试您的应用程序以查看是否是这种情况。

关于javascript - 与未定义相比,类型错误 - 数据为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35004887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com