我使用json_encode
编码文件数据,这是我在Javascript中发送编码数据时得到的结果:
这是我的php代码(使用codeigniter上传文件):
$file_info = $this->upload->data();
echo json_encode($file_info);
我使用javascript文件中的数据:
'onUploadSuccess' : function(file, data, response) {
alert('The file was saved to: ' + data);
}
如何编码file_name或其他字符串?!
例如我如何使用:
'onUploadSuccess' : function(file, data, response) {
alert('The file name is: ' + file_name);
}
答案 0 :(得分:1)
您的回复中有3个变量。要查看代码执行时的每个内容,请使用console.log()。
'onUploadSuccess' : function(file, data, response) {
console.log('\n"data" variable:')
console.log(data);
console.log('"file" variable:')
console.log(file);
console.log('\n"response" variable:')
console.log(response);
}
现在打开你的javascript日志(Chrome中的F12,我认为在Firefox中的Shift + F5)。 Json数据应该已经转换为对象。如果它是json形式,请添加JSON.parse(data)
。
对象是javascript的支柱。要选择名为data
的对象中的信息,请使用data.property
。因此data.file_name
应返回“83274983279843.jpg”,data.type
将返回类型等。
编辑:所以在聊天讨论后,问题是你没有解析JSON。我也错误地告诉你要改变变量顺序。
这是固定代码:
'onUploadSuccess' : function(file, data, response) {
data = JSON.parse(data)
alert('The file : ' + data.file_type);
}