更新:已解决! (答案如下) 我正在尝试使用我正在上传的图像文件添加变量。我可以很好地上传图像,但我似乎无法将所需的变量发送到 php 并将它们发回等。
我希望至少将这个名为 $Destination 的变量以及正在运行的图像数据一起发送到 php,也许还有其他变量。下面是我尝试发送的行。
var Dest = '<? echo $Destination;?>';
这是我的脚本:
function myFunction() {
var = Dest: '<? echo $Destination;?>'; // This one
var file_data = $('#ImageuploadBtn').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url: 'admin/myUpload.php',
dataType: 'text',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'POST',
success: function(php_script_response)
{
console.log(php_script_response);
var html = '<img src="../files/' + php_script_response + '" class="DisplayMainImage img-responsive">';
$( ".MainImage" ).replaceWith(html);
}
});
我的 PHP:
<?php
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: ' . $_FILES['file']['error'] . '<br>';
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], '../files/' . $_FILES['file']['name']);
$Message = $_FILES['file']['name'];
//// $Destination DOES NOT WORK
$Destination = $_POST['Dest']; /// NO WORK
echo $Message;
}
?>
已解决的问题:我需要这些行。
var Dest = '<? echo $Destination;?>';
form_data.append('Dest', Dest);
最佳答案
这是一个语法错误:
var = Dest: '<? echo $Destination;?>'; // This one
^---
这将杀死整个 <script>
阻止,防止您的 ajax 调用发生。
即使该变量分配有效,您也不会在 ajax 代码中使用它。你有一个formdata
,但您在其中放入的唯一内容就是一个文件项。
关于php - JSON 到 PHP 发送/接收带有图像数据的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40288536/