我的AJAX请求始终发送相同的数据。如何在没有此问题的情况下使用convertImgToBase64
函数?
$imageMaps[0] = '1.jpeg';
$imageMaps[1] = '2.jpeg';
for (var k in $imageMaps) {
$file = $imageMaps[k]
convertImgToBase64($url, function(base64Img) {
$file = $imageMaps[k]
$.ajax({
type: "POST",
async: 0,
beforeSend: function(xhr, settings) {},
url: '/request.php?imagePost=1',
data: {
file: $file,
data: base64Img
},
processData: 1,
cache: 1,
xhr: function() {},
success: function(){}
});
}
})
request.php
<?php
echo $_POST['file']; //output always "2.jpeg"
?>
答案 0 :(得分:0)
您发送
data: $file
但你要发送
data: base64Img
这是来自回调函数的第一个参数
convertImgToBase64($url, function(base64Img){
答案 1 :(得分:-1)
现在我明白了。 现在唯一的问题是base64编码返回String,它不会返回Value。
$imageMaps[0]='1.jpeg';
$imageMaps[1]='2.jpeg';
for (var k in $imageMaps) {
$file=$imageMaps[k]
$.ajax({
type: "POST",
async : 0,
beforeSend: function( xhr,settings ) {
$base64=convertImgToBase64($file);
settings.data.img =$base64;
settings.data.url= $file;
},
url: '/request.php?imagePost=1',
data: {img:'',url:$file},
processData: 1,
cache: 1,
//uploadProgress:progress,
xhr: function() { },
success: function(){}
});
}