Javascript 如何使用AJAX将PHP会话变量添加到FormData中?
我想使用FormData和AJAX传递一个PHP会话变量(称为'profileid')。我以为下面的方法会奏效,但没有。为什么?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
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什么,但这到底是什么?某种速记?我以前从未见过。