簡體   English   中英

jQuery和AJAX發布到php數據屬性?

[英]Jquery and AJAX post to php data attribute?

您好,我有以下AJAX代碼:

 var formData = new FormData($('form')[0]);
$.ajax({
    url: 'saveImage.php',  //Server script to process data
    type: 'POST',
    data: formData,
    processData: false,
    success: function(data){
        console.log(data);            
    }

});

它的工作原理很棒,並且可以像背景一樣在后台加載PHP頁面:

    <?php
        include_once "mysql_connect.php";
        $imageName = mysql_real_escape_string($_FILES["Image1"]["name"]);
        $imageData = '';
        $imageext = '';
        if($imageName != null){
            $imageData = mysql_real_escape_string(file_get_contents($_FILES["Image1"]["tmp_name"]));
            $imageType = mysql_real_escape_string($_FILES["Image1"]["type"]);
            $imageSize = getimagesize($_FILES["Image1"]["tmp_name"]);
            $imageType = mysql_real_escape_string($_FILES["Image1"]["type"]);
            $FileSize = FileSize($_FILES["Image1"]["tmp_name"]);
            $imageext = mysql_real_escape_string($imageSize['mime']);
        }
        $query=mysql_query("INSERT INTO pictures (`id`, `imagedata`, `imageext`) VALUES ('', '$imageData', '$imageext');"); 


        echo $imageext;


?>

唯一的問題是PHP頁面無法找到變量Image1,該變量是表單中輸入的名稱。 我做錯了什么嗎? 我在想,也許在Ajax的data參數中可能是這樣,但是正確的:

data: "Image1"=formData,

那是一件事,如果不是,為什么我的PHP看不到該輸入字段?

您忘記了Ajax函數中的cache和contentType屬性。 嘗試它應該工作:

var formData = new FormData($('form')[0]);
$.ajax({
   type: "POST",                
   url: "saveImage.php",
   processData: false,
   contentType: false,
   cache:false,
   data: formData,
   success: function(data){
        console.log(data);
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM