【问题标题】:Ajax-Request in a Callback-Function (with loop)回调函数中的 Ajax 请求(带循环)
【发布时间】:2015-08-24 15:47:27
【问题描述】:

我的 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" 
?>

【问题讨论】:

  • base64Img 在哪里使用?
  • 是用来上传数据的

标签: jquery ajax asynccallback


【解决方案1】:

你发送

     data: $file

但你想发送

    data: base64Img

这是回调函数的第一个参数

convertImgToBase64($url, function(base64Img){

【讨论】:

    【解决方案2】:

    现在我明白了。 现在唯一的问题是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(){}
                        });
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-05
      • 2020-11-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 2017-07-11
      • 2017-08-08
      相关资源
      最近更新 更多