jQuery AJAX将所有内容都插入到数据库中...但是图像?

时间:2018-01-11 23:02:51

标签: php jquery ajax

因此,如果我使用纯PHP插入表单信息,一切都正常,一切都插入到我的数据库中,包括-input“type / file” - (意思是,图像也是如此)。

但是当它通过AJAX插入时,它会插入一切但是图像。出于某种原因,当通过AJAX进行渲染时,图像是我唯一无法插入的东西。这是我的代码。

AJAX CALL

$('#insert_form').click(function(e){
        $.ajax({
            type: 'POST',
            url: 'insert_form_backend.php',
            data: $('#__form__').serialize(),
            success: function() {
                alert("Insert Successful");
            }
        });
        e.preventDefault();
    });

insert_form_backend.php

<?php

require_once "mysql/db.php"; 

$name = $_POST['name'];
$surname = $_POST['surname'];

$photo = $_FILES['photo']['name'];
$photo_temp = $_FILES['photo']['tmp_name'];
$photo_path = "folder_temp_images/$photo";
move_uploaded_file($photo_temp, $photo_path);



$query = "INSERT INTO my_table(column1, column2) ";
$query .= "VALUES ('$column1', '$column2')";

$result = mysqli_query($connection, $query);

?>

如上所述,如果我使用纯PHP提交表单,它只会插入所有内容(包括图像),这意味着它会刷新整个页面。

谢谢,我不想对此嗤之以鼻,我真的想用ajax做这件事。我希望我们能解决这个问题!

FOR FILE in AJAX尝试这种方法:

$("#photo").change(function(){
    var file_datta = $('#photo').prop('files')[0];   
    var form_datta = new FormData();                  
    form_datta.append('file', file_datta);                       


    $.ajax({
                    url: 'insert_form_backend.php', // point to server-side PHP script 
                    dataType: 'text',  // what to expect back from the PHP script, if anything
                    cache: false,
                    contentType: false,
                    processData: false,
                    data: form_datta,                         
                    type: 'post',
                    success: function(php_script_response){
                    }
         });
    });

0 个答案:

没有答案