随机“被javascript选中

时间:2014-04-11 20:36:57

标签: javascript php arrays

我正在将一个数组从php传递给javascript,但它似乎正在增加一个额外的"在数组的开始和结束。

我的数组是从PHP文件发送的

json_encode($CheckItems."|".$CheckUserItems."|".$CheckUserMessages."|".$CheckCommentsForproducts."|".$CheckComments);

我的文件恢复数组。

url: 'CheckServer.php',
success: function(data) {
var DataBaseCheck = (data)
DataBaseCheck = data.split("|");
console.info(DataBaseCheck);

Console.info打印""0","1","2","3""

当检查数据库[0]是否与其他变量匹配时,由于额外的"当我控制台记录每个数组时,我得到"0,1,2,3"

我怎么解决这个问题我试过

DataBaseCheck.replace('""','"')
DataBaseCheck.replace('"','')
Array1 = parseInt(DataBaseCheck[0])

我想不出任何其他方式来删除它们?

1 个答案:

答案 0 :(得分:2)

“额外的双引号”是因为你有一个JSON编码的字符串。您正在从PHP代码中获取JSON,因此在您的JavaScript中,第一步应该是解码它:

function(data) {
    data = JSON.parse(data);
    data = data.split("|");
    # data is now an array of strings, e.g. ["0", "1", "2", "3"]
}

实际上,如果你试图将PHP代码中的整数数组传递给JavaScript代码,而不是使用自己的分隔符,那么最好只用PHP和JSON编码创建一个数组,那么你的JavaScript就会只需进行JSON解码即可获得正确的数据。