我正在将一个数组从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])
我想不出任何其他方式来删除它们?
答案 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解码即可获得正确的数据。