разрабатываю систему на друпал 6.4
может конечно баг появился в ходе разработки.
он заключается в следующем:
включаю модуль upload
создаю новую ноду
внизу добавляю к ней аттач
жму "добавить файл"
форма добавления заменяется json-текстом.
стал копать.
нашёл функцию Drupal.parseJson в misc/drupal.js
дело в том, что в моём проекте data.substring(0, 1) возвращает символ с кодом 65279, который выглядит как пустая строка.
data.substring(0, 2) -- уже возвращает нужную {
и вот поэтому я получаю кашу, вместо нормального эвалуированного джейсона.
что сделать? исправить 1 на 2?
Комментарии
для себя пофиксил так:
charIndx = ((data.substring(0, 1)+'').charCodeAt(0) == 65279)? 2 : 1;
firstSymbolCode = data.substring(0, charIndx).charCodeAt(1);
// 123 - {
// 91 - [
if ((firstSymbolCode != 123) && (firstSymbolCode != 91)) {
return { status: 0, data: data.length ? data : Drupal.t('Unspecified error') };
}
return eval('(' + data + ');');
};
спасибо, полезно
может отписать автору модуля
может стоит до 6.6 обновить?
для себя - не вижу смысла.
меня просто удивил факт полной неработоспособности модуля.
подозреваю что что-то в кодировках
6.5 и 6.6 исправляют вроде некоторые проблемы с безопасностью
Это BOM
Перекодируйте файл в кодировку Без BOM