我已经在 Plupload 之上设置了一些PHP安全检查,并使用相同的 JSON-RPC 表示法生成错误消息 Plupload < / strong>要保持一致。虽然我承认我对这个过程并不熟悉。
我在服务器端生成的错误消息实例如下所示:
$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"}"
由于