2014-02-25 134 views
0

我有底部的代碼從隱藏的輸入類型得到一個名稱,我想將它發送到一個php頁面,但ajax數據返回空。第4行的console.log返回值,但底部的console.log返回空。我試着改變了根據this article在ajax調用中分配數據的方式,但是這並沒有改變任何東西。有任何想法嗎?AJAX數據返回空

$('.uploadImage input[name="userImage"]').on("change", function(){ 
    var image = new FormData($('input[name="userImage"]')[0].files[0]); 
    var name = $('.hidden').attr("name"); 
    console.log(name); 
    $.ajax({ 
     type: "POST", 
     url: "includes/ajax-image.php", 
     processData: false, 
     data: name, 
     success: function(data){ 
      console.log(name); 
     } 
    }); 
}); 

Ajax的image.php

<?php 
$name = $_POST["name"]; 
$dir = ("../user_img/".$name.""); 
    if (!file_exists($dir)) { 
     mkdir($dir,0700);   
    } 
?> 

我增加了;在該行

隨意編輯我的兩個代碼的,我真的沒有和想法下一步

+0

關閉部分是錯誤的最後一行更改'})'''));' – krishna

+0

請顯示包含/ ajax-image.php源,使您的問題更清晰 –

+0

我認爲'成功:功能(數據){console.log(name);}'應該是'success:function(data){console.log(data) ;}' –

回答

0

不需要這裏的過程數據選項刪除什麼並嘗試再次

+0

沒有工作..... –

+0

原來你是部分正確的。我刪除了processData,但我也必須改變我對數據進行分配的方式。正確的方式是數據:{「name」:name} –

0

試試這個

$('.uploadImage input[name="userImage"]').on("change", function(){ 
    var image = new FormData($('input[name="userImage"]')[0].files[0]); 
    var name = $('.hidden').attr("name"); 
    $.ajax({ 
     type: "POST", 
     url: "includes/ajax-image.php", 
     processData: false, 
     data: {"name": name }, 
     success: function(data){ 
      console.log(data); 
     } 
    }); 
}); 


<?php 
$name = $_POST["name"]; 
$dir = ("../user_img/".$name.""); 
    if (!file_exists($dir)) { 
     mkdir($dir,0700);   
    } 

echo $name; 

?> 
+0

嘗試過,沒有運氣.. –

+0

@gogo_rulez嘗試從PHP端回顯一些東西 – tonoslfx

+0

我試圖回顯php的名字,但我沒有得到任何東西... –