Случайный "Быть подхваченным javascript

77
7

Я передаю массив от 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] с переменной afther она не выполняется из-за дополнительного "когда я консольный журнал каждого массива я получаю "0,1,2,3"

Как я могу решить эту проблему?

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

Я не могу думать о другом способе их удаления?

спросил(а) 2014-04-11T23:36:00+04:00 6 лет, 3 месяца назад
1
Решение
68

"Дополнительные двойные кавычки" есть, потому что у вас есть закодированная строка JSON. Вы получаете JSON из своего PHP-кода, поэтому в вашем 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 декодирование, и вы получите правильные данные.

ответил(а) 2014-04-11T23:43:00+04:00 6 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема