Php AJAX文件上传返回值

Php AJAX文件上传返回值,php,javascript,jquery,ajax,plugins,Php,Javascript,Jquery,Ajax,Plugins,我正在使用这个AJAX文件上传程序 我使用此代码: function ajaxFileUpload() { $('input[type=file]').each(function () { if ($(this).val() == "") { return true; } else { $.ajaxFileUpload({ url: 'upload.php',

我正在使用这个AJAX文件上传程序

我使用此代码:

function ajaxFileUpload() {
    $('input[type=file]').each(function () {
        if ($(this).val() == "") {
            return true;
        } else {
            $.ajaxFileUpload({
                url: 'upload.php',
                secureuri: false,
                fileElementId: this.id,
                success: function (data, status) {
                    $('body').html(data);
                },
            })
        }
    });
    return false;
}

我希望主体的html转换为我从upload.php呼出的内容,就像我们通常使用$.ajax所做的那样。不幸的是,当我从upload.php呼出某个内容时,即使它只是一个简单的字符串,$('body')的html变为空白。一无所获。有人能帮忙吗

使用
$('body').html(data.msg)

查看您链接的网站,它返回的是一个对象,而不是您试图插入
正文的字符串

success
希望
data
是一个对象,如果您是从
upload.php
中回显字符串,则它将不是一个对象。尝试构建一个JSON对象并回显:

$out = new stdClass;
$out->error = '';
$out->msg = 'this is the message returned';

echo json_encode($out);
exit();

success
javascript部分尝试
data.msg

我遇到了同样的问题,遇到了这个线程。嗯,这个问题仍然没有答案。我找到了解决方案——在ajax调用中,我们还需要传递响应的数据类型。它可能是“html”、“JSON”等。因此,如果您面临类似的问题,请尝试传递数据类型。在我的例子中,我得到了一个文件类型错误,这提供了一个线索。

一个空白响应通常表示一个500内部服务器错误。检查错误日志,使用Firebug之类的工具检查ajax调用的响应代码和响应数据。firebug中没有记录错误。我试着输入这个插件的错误函数,但是错误没有触发。我已经试过了。不起作用:(我的upload.php中有一个$msg='msg';echo$msg,但没有任何效果。响应必须是json:
echo json_encode(array('msg'=>$msg));
已经尝试过了。当我尝试发出警报(data.msg)时,它显示未定义。如果我尝试body.html(data.msg)它并没有任何作用。若网站上的示例代码不起作用,那个么Javascript或PHP都有问题。在修改返回代码之前,请尝试使其起作用。