AJAX Submit Form.. data not sending

I have been battling with this piece of code for literally days now... Would appreciate any help

The script calls the php file without a problem when the submit key is hit. However, it doesnt post the form data with it.

The HTML form

action="" enctype="multipart/form-data"> File:

The Javascipt

$(function() {
$(".submit").click(function() {
 var obj = document.getElementById("form_div");
 var load = document.getElementById("load");
 jQuery.ajax({
 type: "POST",
 name: "image",
 url: "upload_imagel.php",
 enctype: "multipart/form-data",
 beforeSend: function(){
 obj.style.display = 'none';
 load.innerHTML = "

/>"; }, error: function(){ alert('Error has occured'); }, timeout:5000, success: function( results ){ load.style.display = 'none'; obj.style.display = 'block'; } }) return false; }); });

The PHP

The following is then empty

$image=$_FILES['image']['name'];

Thanks to pekka I changed the following AJAX to

$(document).ready(function() { 
    var obj = document.getElementById("form_div");
    var load = document.getElementById("load");

    var options = { 
        beforeSend: function(){
             obj.style.display = 'none';
             load.innerHTML = "<img src='../images/misc/ajax-loader.gif' />";
            },
        success: function(){
             load.style.display = 'none';
             obj.style.display = 'block';
            },
        type:      'POST', 
        timeout:   5000 
    }; 

    $('#image_form').submit(function() { 
        $(this).ajaxSubmit(options); 
        return false; 
    }); 
}); 

However still getting the same problem

$image=$_FILES['image']['name'];

Still empty :(

P.s. html form heading is now

<form id="image_form" method="POST" action="sMain/upload_image_small.php" enctype="multipart/form-data">

Am I missing something?

1
задан Brian Tompsett - 汤莱恩 24 December 2015 в 23:05
поделиться

3 ответа

Невозможно выполнить загрузку файлов с помощью AJAX, потому что ваш сценарий не получит доступа для чтения к файлу на клиентском компьютере.

Вы можете взглянуть на плагин формы jQuery , который для этого использует невидимый iframe.

2
ответ дан 2 September 2019 в 22:00
поделиться

Это действительно работает Пекка, у меня была опечатка в php файле. Так раздражает.

Спасибо. Также наткнулся на это на другом форуме

http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html

Спасибо вам обоим за помощь.

0
ответ дан 2 September 2019 в 22:00
поделиться

Вы можете попробовать использовать Plupload ( http://www.plupload.com ). Он имеет множество функций и хорошо работает для загрузки файлов.

0
ответ дан 2 September 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: