@doriulbool

Почему js не передает данные в php по средствам ajax?

В код ниже поступают данные в виде:

Маша
Даша
Петя

Тоесть список, каждый элемент с новой строки.

Код:
<form id="myForm" method="post">
    <p><textarea id=f13 name="field1"></textarea></p>
    <p><input type="submit" value="Отправить"></p>
    </form>
    <div id="result"></div>
     <script>
     $(document).ready(function(){
     $('#myForm').submit(function(){
            
    var text = $('#f13').val();
    var result = $('#result');
        var items = text.split('\n').map(function(item) {
            return  $.ajax({
                    type: "POST",
                    url: "test.php",
                    data: "field1="+item,
                    success:
                    function(html){
           $('<div class="result">' + html + '</div>');
                   }
                }); 
            });
      result.html(items);

});

});
    </script>


<?php 
$field1 = $_POST['field1'];
echo "Hello, <b>".$field1."</b>!<br>";
echo "Time: " . date("H:i:s") . "<br/>" . "\n";
sleep(0);
echo "Done";
?>


Следующая логика: данные в виде списка поступают в форму(каждый элемент с новой строки). Из списка вычленяются значения, разделитель \n, после чего каждое значение отправляется в php, содержимое поступает в соответствующих тег, далее отправляется следующее значение и так пока они не закончатся.

Где ошибка?
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 2
@alexmixaylov
лучше так подготавливать данные для отправки
сделать сериализацию формы, не инпута
var text = $('#myForm').serialize();
Ответ написан
@eavam
success: function(html) {
  result.append('<div class="result">' + html + '</div>');
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы