Предположим, у меня есть следующий 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 файле), поскольку это всего лишь доказательство концепции.
Вы хотите использовать 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
?>