Загрузка файла в php Ajax jQuery не работает - PullRequest
0 голосов
/ 02 марта 2012

У меня две простые страницы: index.php и ajx_upload.php.И каталог для загрузки файлов: upload

Ниже приведен код

Index.php

<table>
    <form name="profileimage" id="profileimage" method="post"  enctype="multipart/form-data" >
        <tr>
            <td><img id="partner_pic" src="" height="100" width="100" /></td>
        </tr>
        <tr>
            <td><input type="file" name="fileimg1" id="fileimg1" /></td>
        </tr>
        <tr>
            <td><p id="pic_profile_p"></p></td>
        </tr>
        <tr>
            <td><input type="submit" name="uploadimg" value="Change Picture" /></td>
        </tr>
    </form>

</table>

ajx_upload.php

<?php 
     $target = "upload/"; 
     $target = $target . $_FILES['fileimg1']['name'] ; 
     $ok=1; 
     if(move_uploaded_file($_FILES['fileimg1']['tmp_name'], $target)) 
     {
         echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded";
     } 
     else {
         echo "Sorry, there was a problem uploading your file. <br />" . $_FILES['fileimg1']['error'];

     }
?> 

Не загружается ни одно изображение или не только одно, вместо этого выдается ошибка

Notice: Undefined index: fileimg1 in D:\xampp\htdocs\mywesbite\mydriectory\ajx_upload.php on line 3

Notice: Undefined index: fileimg1 in D:\xampp\htdocs\mywesbite\mydriectory\ajx_upload.php on line 5

jQuery Code

 $("#profileimage").submit(function(){

        var data = $(this).serialize();
        $.post('ajx_upload.php', data, function(return_data){
            $('#pic_profile_p').html(return_data)
        });


        return false;
    });

IНе знаю, почему файл не загружен.

1 Ответ

1 голос
/ 02 марта 2012

Если вы хотите загружать файлы, но использовать AJAX, как сказал Camus, вы не можете ... Но вы можете создать иллюзию загрузки AJAX-файла ... Небольшая хитрость, которую я использую, - отправка формы в скрытыйiframe и затем использование ajax после завершения загрузки, чтобы продолжить в вашем рабочем процессе, как если бы файл был загружен через ajax.Загрузка происходит, и страница никогда не обновляется.

Ознакомьтесь с этой статьей http://www.openjs.com/articles/ajax/ajax_file_upload/

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