理论问:从PHP到Javascript的特定部分

时间:2014-02-19 04:36:24

标签: javascript php html loops iteration

假设我有以下HTML文档进行某种简单的计算:

<html>
<script>

for (i=0;i<10;i++) {
    var x = 2*i;
    // send to PHP
};

</script>
</html>

现在假设我想通过将x值连续发送到单独的PHP文档(如下所示)将x值保存到文本文件中,该文档会将值附加到文本文件中,然后返回到HTML,在循环中进行下一次计算。

<?php
    $my_file = 'results.txt';
    $handle = fopen($my_file, 'a') or die('Cannot open file:  '.$my_file);
    fwrite($handle,$_POST["x"]."\n");
    fclose($handle);
    // go back to HTML document, BUT pick up from i+1 (i.e., don't start over from i=0)
?>

有人知道这是否可行?如果是这样,我应该在那些注释行中写什么?对我来说很重要的是我实际上坚持使用这个方法来获取下一个i值的HTML文档(而不是在一个PHP文件中进行整个计算),因为这只是一个概念证明。

1 个答案:

答案 0 :(得分:0)

您想使用JQuery Ajax。但是,最好先将所有x值放入数组中,然后再发送数组。 html / jQuery看起来像这样:

<script type="text/javascript">

    $(document).ready(function(){
        //intiialize array
        var myArray = [];
        for(i = 0; i < 10; ++i){
            myArray.push(i); // uses push() method to insert each number to array
        };

        $.post("yourFile.php",
               {TheArray: myArray}, // notice how the array is posted 
            function(response){
                alert(response); //simply alerts the response
            });

    });


    </script>

PHP就是这样:

<?php

$data = array();

$data = $_REQUEST['TheArray']; // could use post, but request works too

var_dump($data); //cannot echo an array, only strings

?>