gpt4 book ai didi

javascript - 将来自 HTTP 请求的所有变量视为整数(有异常(exception))

转载 作者:行者123 更新时间:2023-11-29 06:33:33 29 4
gpt4 key购买 nike

我在 Angular 中有一个 HTTP 请求,它从 Mysql 表中提取所有数据。

$http({
method: "POST",
url: "framework/actions/league.php?query=getDivision"
}).success(function(data){
$scope.division = data;
});

数据片段如下所示:

[
{
name: "Someone",
number: "4",
game1: "6",
game2: "2",
score: "8"
},
{
name: "Someone else",
number: "7",
game1: "7",
game2: "3",
score: "10"
},
]

当数据从 HTTP 请求返回并分配给 $scope.division 时,数字被视为字符串,这在使用 orderBy 时给我带来了问题一个 ngRepeat

如何让数字字段被视为数字,而不必在 forEach 中声明每个字段并使用 parseInt()?是否可以在 PHP 中执行此操作?如果没有,在 Angular javascript 中执行就可以了。

当然,因为名称字段,我不能将每个字段都视为数字。

最佳答案

您可以在发送结果之前使用 PHP 函数 intval() 将字符串转换为数字:

$string = '123';
$number = intval($string);
// 123

$number2 = intval('456');
// 456

或者在赋值语句上直接转换变量:

$string = '123';
$number = (int)$string;
// 123

$number2 = (int)'456';
// 456

或者在 AngularJS 中使用 transformResponse 方法:

$http({
method: "POST",
url: "framework/actions/league.php?query=getDivision",
transformResponse: function(data) {

for (var i=0; i<data.length; i++) {
for(var k in data[i]) {
if (data[i].hasOwnProperty(k)) {
data[i][k] = isNaN(+data[i][k]) ? data[i][k] : +data[i][k];
}
}
}

return data;
},
success: function(data){
$scope.division = data;
}
});

关于javascript - 将来自 HTTP 请求的所有变量视为整数(有异常(exception)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26425308/

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