NaN Javascript Jquery

NaN Javascript Jquery,javascript,php,jquery,nan,Javascript,Php,Jquery,Nan,我从数据库中得到一个带有一些值的响应,但是当我要使用其中一些值计算总数时,它会输出“NaN”,请告诉我如何解决这个问题。谢谢 $.ajax({ url:"{{ route('autocomplete.purchasetable') }}", method:"POST", data:{query:material, _token:_token}, success:function(data){ //consol

我从数据库中得到一个带有一些值的响应,但是当我要使用其中一些值计算总数时,它会输出“NaN”,请告诉我如何解决这个问题。谢谢

    $.ajax({
        url:"{{ route('autocomplete.purchasetable') }}",
        method:"POST",
        data:{query:material, _token:_token},
        success:function(data){
        //console.log(data);
        data = JSON.parse(data);
        console.log(data);
        $.each(data, function(key, value) {
        console.log(value.id, value.unit_price);
        var matid = value.id;
        var unitprice = value.unit_price;
        var cost = unitprice * quantity;
        var tr = '<tr><td></td><td>'+matid+'</td> <td name="name"><input type="text" name="materialName" value="'+material+'"></td> <td name="sex"><input type="text" name="materialID" value="'+quantity+'"></td> <td name="tel"><input type="text" name="materialID" value="'+unitprice+'"></td> <td><input type="text" name="cost" value="'+cost.toFixed(2)+'"></td><td> <button type="button" name="add" id="delete-btn" class="btn btn-sm btn-rounded btn-danger delete-btn"><i class="far fa-trash-alt"></i></button></td></tr>';
        $('#item_table').append(tr);
        var total = total + unitprice * quantity;
        alert(total);


});
}
});
$.ajax({
url:“{route('autocomplete.purchasetable')}}”,
方法:“张贴”,
数据:{query:material,_-token:_-token},
成功:功能(数据){
//控制台日志(数据);
data=JSON.parse(数据);
控制台日志(数据);
$。每个(数据、函数(键、值){
console.log(value.id,value.unit_price);
var matid=value.id;
var单价=价值。单价;
var成本=单价*数量;
var tr=''+matid+'';
$('项目表')。追加(tr);
var总计=总计+单价*数量;
警报(总数);
});
}
});
NaN表示“不是数字”。在某些地方,您试图使用一个值作为一个数字,而javascript无法将其识别为一个数字。您可以尝试使用parseInt()将其解析为number,不过最好确保您实际尝试使用的值是数值


查看ajax查询从服务器获取的内容会很有帮助,这样我们就可以查看是否确实存在非数值的值。

total的值总是未定义的。由于您试图在数学运算中使用undefined,因此结果确实是NaN。解决方案是在ajax回调中的for循环之外声明
var total
。并将其初始化为0。

可能在数据中有一些数字作为
字符串