JSON到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;

更新:解决!回答如下 我正在尝试使用我正在上载的图像文件添加变量。我可以上传图像,但我似乎不能发送想要的变量到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
          ^---
这将杀死整个区块,防止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似乎有正确的想法,接受这个想法吧