Теоретический вопрос: от PHP к определенной части Javascript

0

Предположим, у меня есть следующий HTML-документ, который делает какое-то простое вычисление:

<html>
<script>

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

</script>
</html>

Теперь предположим, что я хочу сохранить x-значения в текстовый файл, последовательно отправив значения x в отдельный PHP-документ (как показано ниже), который добавит значение в текстовый файл, а затем вернется в 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)
?>

Кто-нибудь знает, возможно ли это? Если да, то что я должен писать в этих комментариях? Для меня важно, что я действительно придерживаюсь этого метода подбора HTML-документа при следующем значении я (а не в полном вычислении в одном PHP файле), поскольку это всего лишь доказательство концепции.

  • 5
    Ajax, вероятно, вы ищете
  • 0
    Определенно AJAX, если вы выполняете асинхронный AJAX, цикл будет продолжаться до того, как сервер ответит на вашу HTML-страницу, sychronous будет удерживать выполнение JS до тех пор, пока сервер не ответит, в зависимости от того, что вам нужно
Показать ещё 1 комментарий
Теги:
loops
iteration

1 ответ

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

?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню