2014-05-06 41 views
0

,所以我有這樣的代碼變量發生變化時,從JavaScript傳遞到PHP

$('#sepia').click(function() { 
    var filePathName = tempFilePath; 
    alert(filePathName); 
    $.ajax({ 
     type: 'POST', 
     url: 'php/sepia.php', 
     data: { 
      FilePath: filePathName 
     }, 
     success: function (data) { 
      pictureReset(); 
     } 
    }); 
}); 

警報(filePathName)具有正確的價值test.jpg放在但只要它與

  data: { 
       FilePath: filePathName 
      } 

的值傳遞爲改變難以理解的文字這樣jhSerZR6i1T952C3bk7vEOGCj8Pz_tBYtuHcgrgj81A.

即使我代替filePathName與「hp_2.jpg`我仍然會得到相同的隨機字母消息

沒關係發現錯誤。沒有接近那段代碼,但當我回到腳本使用文件路徑名。添加+「」在結束和固定它:)

+0

第一次猜測?你有一個/ image /的參考。你的'alert'語句將其字符串化,將它變成一個文件名,但'POST'實際上載圖像。 –

+0

所以如果我通過FilePath:filePathName +''它會修復它嗎? – Alexandros

+0

如果我的猜測是正確的,它應該。你可以在'alert'之前添加一個'console.log(filePathName)'並且看看它給了你什麼。 –

回答

1

好吧,讓我們嘗試一些別的....

通常是相同的,但它可能給其他結果......

var tempFilePath = 'test.jpg'; 
$('#sepia').click(function() { 
    var filePathName = tempFilePath; 
    $.post('php/sepia.php', 
    { 
     data: { 
        //FilePath: filePathName changed to 
        fpath: filePathName 
       } 
    }).done(function(response){ 
     console.log(response); 
    }); 
}); 

,並添加這sepia.php:

<?php 
    echo "<pre>"; 
    print_r($_POST); 
    echo "</pre>"; 
    die(); 

    // rest of your code 
?> 

,應返回

array( 
     "FilePath" => "test.jpg" 
); 

在控制檯上

+0

返回不可理解的字符串 – Alexandros

+0

只是爲了嘗試和錯誤...將'FilePath'改爲'fpath' – Dwza