1

我正在使用 ajax 向 php 脚本发布请求,并从脚本返回枚举,即

success: function(data){
    console.log(data) 
}

在控制台上我看到:

enum('Engineering','Finance','Economics','Project Management')

现在我如何迭代枚举的值?

4

2 回答 2

0

如果您在谈论关联数组或地图或集合,例如

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){

   }
于 2013-02-27T23:34:47.110 回答
0

枚举在 javascript 中不存在,它被序列化为一个字符串,它恰好从 php.ini 中引入了变量的类型。

您需要更改 php 脚本的返回类型

于 2013-02-27T23:36:52.090 回答