我正在使用这个plugin,但一切都运作得很少。 在上传的最后一个开发者的例子中显示了关于该文件的3个信息 我想做那样的事情。
<script type="text/javascript">
$(function() {
$('#userfile').change(function() {
$(this).upload('thumb.php', function(res) {
$(res).insertAfter(this);
}, 'html');
});
});
</script>
</head>
<body>
<input type="file" name="userfile" id="userfile">
<br />
目前仅上传图片且未显示任何消息。
问题是,在我的php文件中,我测试了一个在.html()中没有显示的简单回声。
这是dev
的例子if (move_uploaded_file($_FILES['yourkey']['tmp_name'], '/path/to/save/' . $filename)) {
$data = array('filename' => $filename);
} else {
$data = array('error' => 'Failed to save');
}
header('Content-type: text/html');
echo json_encode($data);
在我的情况下,我只是使用echo "success";
我做错了什么?
PS:很棒的插件
答案 0 :(得分:1)
以下是您的应用程序不起作用的几个原因:
$(this).upload('thumb.php', function(res) {$(res).insertAfter(this);}, 'html');
在这种情况下,upload会向函数发送一个你想要转换为DOMnode的字符串元素,因此res
的结果假设是某些html结构,如
<li>some text</li>
你的php代码返回JSON字符串,被上传者视为简单字符串
如果您计划使用JSON格式的响应,请将$(this).upload();
的{{1}}参数更改为'html'