.html()的问题

时间:2011-04-15 15:53:56

标签: php javascript jquery html

我正在使用这个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:很棒的插件

1 个答案:

答案 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'