我正在使用 ajax 向 php 脚本发布请求,并从脚本返回枚举,即
success: function(data){
console.log(data)
}
在控制台上我看到:
enum('Engineering','Finance','Economics','Project Management')
现在我如何迭代枚举的值?
如果您在谈论关联数组或地图或集合,例如
var x = new Array();
x['test'] = 1;
x['something'] = 2;
x['something_else'] = 3;
您可以通过以下方式循环它们:
for(i in x){
alert( " key: "+i+" / value: "+x[i]);
}
但我认为 JS 中一般没有枚举器。
根据您在下面的评论进行更新:
** 注意,如果您不能 100000000% 确定来自 db 的内容(str 的内容),请不要使用 eval,这很危险,而且是 XSS 的大门。
您可以使用:
str // is the string you retrieved from SQL.
eval(str.replace("enum","var enum=new Array"));
然后遍历名为 enum 的数组
for( i in enum){
}
枚举在 javascript 中不存在,它被序列化为一个字符串,它恰好从 php.ini 中引入了变量的类型。
您需要更改 php 脚本的返回类型