PHP $ _FILES не работает с JQuery Json - PullRequest
0 голосов
/ 07 января 2012

Я строю форму с JQuery и PHP, и все, кажется, работает, принять загрузку файла.Кажется, Джсону не нравятся $ _FILES.Форма загружается нормально, когда JavaScript отключен.Это известная проблема?Если это так, есть ли обход?Как плагинам JQuery удается это сделать?

Спасибо!

JQUERY:

$('#mcContactForm').submit(function(e){
    e.preventDefault();

    // validate form
    mcValidateForm();

    // serialize and submit form data
    $('.mcloading').show();
    var mcFormData = $(this).serialize();
    mcSubmitForm(mcFormData);

    // -----------------------------------------------
    // AJAX FORM SUBMIT
    // -----------------------------------------------
    function mcSubmitForm(mcFormData){
        $.ajax({
            type: 'POST',
            url: 'contact.php',
            data: mcFormData,
            dataType: 'json',
            cache: false,
            timeout: 7000,
            success: function(data) {
                if(data.error === true){

                    ...
                }
                else if(data.error === false){

                    ...
                }
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
                ...
            },              
            complete: function(XMLHttpRequest, status) { 
                ...
            }
        });
    }
});

1 Ответ

2 голосов
/ 07 января 2012

Похоже, вы пытаетесь загрузить файлы через ajax и обнаруживаете, что это невозможно сделать, просто отправив параметры формы через обычный ajax? Если это так, то вам нужен плагин для загрузки ajax-файлов. Смотрите здесь для некоторых возможностей:

http://www.webdeveloperjuice.com/2010/02/13/7-trusted-ajax-file-upload-plugins-using-jquery/

В них обычно используется система отправки на скрытые фреймы для загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...