JSON到PHP发送/接收带有图像数据的变量
更新:解决!回答如下 我正在尝试使用我正在上载的图像文件添加变量。我可以上传图像,但我似乎不能发送想要的变量到php和发送回来等 我希望至少能将这个名为$Destination的变量,连同正在工作的图像数据,以及其他变量一起发送到php。下面是我试图发送的线路JSON到PHP发送/接收带有图像数据的变量,php,jquery,html,json,ajax,Php,Jquery,Html,Json,Ajax,更新:解决!回答如下 我正在尝试使用我正在上载的图像文件添加变量。我可以上传图像,但我似乎不能发送想要的变量到php和发送回来等 我希望至少能将这个名为$Destination的变量,连同正在工作的图像数据,以及其他变量一起发送到php。下面是我试图发送的线路 var Dest = '<? echo $Destination;?>'; 这是我的剧本: function myFunction() { var = Dest: '<? echo $Destination;
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
^---
这将杀死整个区块,防止ajax调用发生
即使变量赋值有效,您也不会在ajax代码中使用它。您有一个formdata,但您在其中只放了一个文件项。这是一个语法错误:
var = Dest: '<? echo $Destination;?>'; // This one
^---
这将杀死整个区块,防止ajax调用发生
即使变量赋值有效,您也不会在ajax代码中使用它。您有一个formdata,但您在其中只放了一个文件项。首先
var = Dest: '<? echo $Destination;?>';
这不是正确的js语法。由于它的语法错误,脚本执行将在此时停止。也许你的意思是这样的:
var = Dest: 'some text from $Destination php var';
var dest = '<? echo $Destination;?>';
您可以在浏览器中打开开发人员工具,并在js控制台上查看呈现的源代码。它将显示脚本错误。例如,在chrome中,按ctrl+shift+i并转到控制台选项卡。首先
var = Dest: '<? echo $Destination;?>';
这不是正确的js语法。由于它的语法错误,脚本执行将在此时停止。也许你的意思是这样的:
var = Dest: 'some text from $Destination php var';
var dest = '<? echo $Destination;?>';
您可以在浏览器中打开开发人员工具,并在js控制台上查看呈现的源代码。它将显示脚本错误。例如,在chrome中,按ctrl+shift+i并转到console选项卡。这是必需的
var Dest = '<? echo $Destination;?>';
form_data.append('Dest', Dest);
这是需要的
var Dest = '<? echo $Destination;?>';
form_data.append('Dest', Dest);
这有点让人困惑,除了图像,你没有发送任何东西,你是否至少尝试过形成_数据;添加数据?就是这样。哦,老兄。谢谢。事实上,@adeneo应该是发布答案的人,因为这里有时间戳。“我认为这是公平的。是的,@adeneo,请给出你的答案,我会相信你的。”。Marc B似乎有一个正确的想法,只是接受这个想法有点让人困惑,除了图像之外,你没有发送任何东西,你是否至少尝试过形成数据。附加'Dest',Dest;添加数据?就是这样。哦,老兄。谢谢。事实上,@adeneo应该是发布答案的人,因为这里有时间戳。“我认为这是公平的。是的,@adeneo,请给出你的答案,我会相信你的。”。马克B似乎有正确的想法,接受这个想法吧