我正在将一个数组从 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])
我想不出任何其他方法来删除它们?
最佳答案
之所以有“额外的双引号”,是因为您有一个 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 解码即可获得正确的数据。
关于javascript - 随机“被 javascript 拾取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23022120/