2014-05-06 39 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