Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用AJAX将PHP会话变量添加到FormData中?_Javascript_Php_Jquery_Ajax_Form Data - Fatal编程技术网

Javascript 如何使用AJAX将PHP会话变量添加到FormData中?

Javascript 如何使用AJAX将PHP会话变量添加到FormData中?,javascript,php,jquery,ajax,form-data,Javascript,Php,Jquery,Ajax,Form Data,我想使用FormData和AJAX传递一个PHP会话变量(称为'profileid')。我以为下面的方法会奏效,但没有。为什么? var imageData = new FormData(); imageData.append('image', $('#uploadImage')[0].files[0]); imageData.append('profileid', <?php echo $_SESSION['profileid'];?>); //Make ajax call he

我想使用FormData和AJAX传递一个PHP会话变量(称为'profileid')。我以为下面的方法会奏效,但没有。为什么?

var imageData = new FormData();
imageData.append('image', $('#uploadImage')[0].files[0]);
imageData.append('profileid', <?php echo $_SESSION['profileid'];?>);

//Make ajax call here:
$.ajax({
      url: '/upload-image-results-ajax.php',
      type: 'POST',
      processData: false, // important
      contentType: false, // important
      data: imageData,
      //leaving out the rest as it doesn't pertain
var-imageData=new-FormData();
imageData.append('image',$('#uploadImage')[0]。文件[0]);
append('profileid',);
//在此处进行ajax调用:
$.ajax({
url:“/upload image results ajax.php”,
键入:“POST”,
processData:false,//重要
contentType:false,//重要
数据:imageData,
//剩下的就省去了,因为这不合适

您可以将profileid添加到
$.ajax
URL参数中,而不是添加到FormData中:

$(document).ready(function (e) {
    $('#uploadImageForm').on('submit',(function(e) {
        e.preventDefault();
        var formData = new FormData(this);

        $.ajax({
            url: "/upload-image-results-ajax.php?profileid=<?= $_SESSION['profileid']; ?>",
            type: "POST",
            data: formData,
            cache: false,
            contentType: false,
            processData: false,
            success: function(response){
                console.log("success");
                console.log(response);
            },
            error: function(response){
                console.log("error");
                console.log(response);
            }
        });
    }));

    $('#uploadImage').on("change", function() {
        $("#uploadImageForm").submit();
    });
});
$(文档).ready(函数(e){
$('#uploadImageForm')。on('submit',(函数(e){
e、 预防默认值();
var formData=新formData(本);
$.ajax({
url:“/upload image results ajax.php?profileid=”,
类型:“POST”,
数据:formData,
cache:false,
contentType:false,
processData:false,
成功:功能(响应){
控制台日志(“成功”);
控制台日志(响应);
},
错误:函数(响应){
控制台日志(“错误”);
控制台日志(响应);
}
});
}));
$('#uploadImage')。在(“change”,function()上{
$(“#uploadImageForm”).submit();
});
});

不要忘记将
session\u start();
放在代码开头。

在服务器端尝试
var\u dump($\u POST)
查看您发送的所有数据,然后将响应记录在success函数中。它会返回什么响应?这与@Grover的更改有关。我知道您更改了Grover什么,但这到底是什么?某种速记?我以前从未见过。