将HTTP请求中的所有变量视为整数(例外)
Treat all variables from HTTP request as as integer (with exception)
我在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
时,这些数字被视为字符串,这给我在ngRepeat
中使用orderBy
带来了问题。
如何在不必声明forEach
中的每个字段并使用parseInt()
的情况下将数字字段视为数字?在PHP中可以做到这一点吗?如果没有,那么在Angular javascript中进行操作就可以了。
当然,由于名称字段,我不能将每个字段都视为数字。
在发送结果之前,您可以使用PHP函数intval()
将字符串转换为数字:
$string = '123';
$number = intval($string);
// 123
$number2 = intval('456');
// 456
或者在assign语句上直接强制转换变量:
$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;
}
});
相关文章:
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 检测个位数整数时正在转换毫秒
- 限制javascript变量的最小/最大整数
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 正则表达式只允许 x 个整数
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 如何在Chartjs中制作整数比例
- cordova:例外:财产'requestFileSystem'的[对象全局]不是函数
- 减去两个索引不同但值相同的整数
- 使用jquery从整数中减去
- 有效地获取两个区间之间的随机整数
- 为什么我的javascript程序没有将其转换为整数而不是字符串
- 带静态字符e输入的文本框数字和带javascript的负整数
- Javascript-当存在's是一个整数标记
- parseInt()方法如何返回整数
- 由于某种原因,JavaScript整数存储为未定义
- Js char数组将字符串整数视为整数
- 如何翻译MySQL查询's ResultSet转换为整数
- 计算阶乘超过了Javascript中的最大整数限制
- 将HTTP请求中的所有变量视为整数(例外)