Я установил некоторые проверки безопасности PHP поверх Plupload и генерировать сообщения об ошибках по мере использования того же JSON-RPC обозначение как Plupload быть последовательным. Хотя по общему признанию я не совсем знаком с этим процессом.
Экземпляр сообщения об ошибке, который я генерирую на стороне сервера, выглядит следующим образом:
$err_msg = '{"jsonrpc" : "2.0", "error" : {"code": 204, "message": "File type not supported. "}, "id" : "id"}';
На принимающем скрипте PHP Plupload Скрипт настроен следующим образом:
$('#uploader2').plupload('getUploader').bind('FileUploaded', function (uploader, file, info) {
//alt 1 = THIS WORKS
var err_msg = JSON.parse('{"jsonrpc" : "2.0", "error" : {"code": 204, "message": "File type not supported. "}, "id" : "id"}');
alert(info.error.code); // prints 204
// alt 2 = GENERATES ERROR SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
var err_msg = JSON.parse(info);
// alt 3 = ASSUMING JQUERY IS ALREADY PARSING JSON
alert(info); // gives object
alert(info.error.code); // prints UNDEFINED
}
В alt 1
просто для проверки я вставил строку прямо в скрипт; в этом случае он работает нормально, и я могу получить доступ к объекту, как и ожидалось.
В alt 2
Я предполагаю, что мне нужно проанализировать JSON, и это то, что дает мне синтаксическую ошибку. Глядя на SO в другом месте, я обнаружил, что эта ошибка указывает на то, что jQuery уже выполняет синтаксический анализ JSON, поэтому его не следует делать снова.
В alt 3,
Я пытаюсь получить доступ к объекту, как обычно, но получить undefined
,
Что мне здесь не хватает?
Добавление console.log как предложено:
"{"jsonrpc" : "2.0", "error" : {"code": 204, "message": "Ne correspond pas aux types de fichiers acceptés. "}, "id" : "id"}"
Спасибо
Задача ещё не решена.
Других решений пока нет …