在当时显示执行的查询一

时间:2017-02-20 18:45:12

标签: php jquery ajax

来自帖子的来源:

foreach($_POST as $key=>$value){  
echo "$key $value<br>";  
}

来自上面的源:

key1 value1  
key2 value2  
key3 value3  
...   
key**n** value**n**

因为php是服务器端脚本。结果同时显示 我的目标是显示每一行一次执行一行 我的想法是使用ajax来执行。

foreach($_POST as $key=>$value){  
echo"
<script>
$.ajax({ 
    url: "save.php", 
    type: "POST", 
    data: "key="+$key,"value="+$value, 
    dataType: "text", 
    success: function(data){ 
        if (data==1){ 
            $("#result").append("<div><?=$key." and ".$value?> has been saved</div>");
        } 
    }
});
</script>
}  

使用上述想法的最佳做法是什么?我必须把ajax foreach项目或只是一次调用吗?

1 个答案:

答案 0 :(得分:0)

它更好地将所有查询ajax存储在一个数组ob对象中并在结束时调用它:

    echo "
    <script>
    var _ajax = [];";
    foreach($_POST as $key=>$value){  
    echo"
    _ajax.push({
    data: "key="+$key,"value="+$value
    });
    ";
    }
    echo "
    for(var i=0;i<_ajax.length;i++) {
makeCall(_ajax[i]);
}
function makeCall(value){.
$.ajax({ 
        url: "save.php", 
        type: "POST", 
        data: value, 
        dataType: "text", 
        success: function(data){ 
            if (data==1){ 
                $("#result").append("<div><?=$key." and ".$value?> has been saved</div>");
            } 
        }
    });  
}

    }

    </script>";

如果您使用q库进行承诺,那么您将做一次或多次清理。 我在函数内更改了make ajax调用的代码。