ajaxSubmit与json的jqueryForm

时间:2014-09-20 12:19:02

标签: php jquery json

这是我的ajax:

$('#MyUploadForm').submit(function () {

        $(this).ajaxSubmit({
            beforeSubmit: beforeSubmit
            ,dataType: 'json'
            ,uploadProgress: OnProgress
            ,resetForm: true
            ,success: function(data) {
                console.log(data)
                if(data.error) {
                    $("#output").css('color', 'red');
                }
                else {
                    $("#output").css('color', 'green');
                }
                $("#output").html(data.msg);
                $('#submit-btn').show(); //hide submit button
                $('#loading-img').hide(); //hide submit button
                $('#progressbox').delay(10000).fadeOut(); //hide progress bar
            }
            ,error: function(xhr){
                console.log(xhr);
            }
        });
        return false;

    });

这是我的HTML:

<form action="ss.php" method="post" enctype="multipart/form-data" id="MyUploadForm">
            <input name="FileInput" id="FileInput" type="file"/>
            <input name="f-name" id="f-name" type="hidden"/>
            <input type="submit" id="submit-btn" value="Upload"/>

        </form>

PHP:

return json_encode(array(
    'error'=> true
,'msg' => 'Invalid request!'
));

我收到错误回电。我在console.log中出现错误回调函数:

Object { readyState=4, status=200, statusText="OK", more...}

可能是我遗失了一些东西而找不到它。为什么它不会进入成功回调函数。

非常感谢

1 个答案:

答案 0 :(得分:0)

正如@ marian0评论,@ bansi解释说它有效。

已更改:

return json_encode(array(
    'error'=> true
,'msg' => 'Invalid request!'
));

到:

echo json_encode(array(
    'error'=> true
,'msg' => 'Invalid request!'
));

return不会将响应返回给浏览器。