Последовательное выполнение ajax-запросов mysql - JavaScript

karen12

Постоялец
Регистрация
26 Фев 2012
Сообщения
108
Реакции
4
Имеется вот такой скрипт
PHP:
var i = 0;
function next() {
if (i < length) document.setTimeout('myfunc_1('+i+')', 100);
i = i + 1;
}
     
function myfunc_1(i){
        $.ajax({
                ...
                success: function(result){
                        myfunc_2(i);
                }
        });
}
function myfunc_2(i){
        $.ajax({
                ....
                success: function(result){
                        next();
                }
        });
}
next();
Две таблицы: table1 и table2
В table1 поля: id, name, date
В table2 поля: id, depart, out_date
Форма
HTML:
index.php
<form id="recept-add" action="" method="post">
                                <input type="text" name="name" value="" />
                 <input type="text" name="date" value="" />
                                  <input type="text" name="depart" value="" />
                                    <input type="text" name="out_date" value="" />
</form>
Как передать эти данные в обработчики, чтобы последовательно выполнялись запросы на добавления данных- (первый запрос в table1 : name, date
второй запрос table2: depart, out_date) в Mysql, как должны выглядеть файлы обработчики, или обработчик, помогите кто может в реализации проекта.
 
Имеется вот такой скрипт
PHP:
var i = 0;
function next() {
if (i < length) document.setTimeout('myfunc_1('+i+')', 100);
i = i + 1;
}
   
function myfunc_1(i){
        $.ajax({
                ...
                success: function(result){
                        myfunc_2(i);
                }
        });
}
function myfunc_2(i){
        $.ajax({
                ....
                success: function(result){
                        next();
                }
        });
}
next();
Две таблицы: table1 и table2
В table1 поля: id, name, date
В table2 поля: id, depart, out_date
Форма
HTML:
index.php
<form id="recept-add" action="" method="post">
                                <input type="text" name="name" value="" />
                 <input type="text" name="date" value="" />
                                  <input type="text" name="depart" value="" />
                                    <input type="text" name="out_date" value="" />
</form>
Как передать эти данные в обработчики, чтобы последовательно выполнялись запросы на добавления данных- (первый запрос в table1 : name, date
второй запрос table2: depart, out_date) в Mysql, как должны выглядеть файлы обработчики, или обработчик, помогите кто может в реализации проекта.
попробуйте добавить в код ajax: async: false,
 
после: $.ajax({ async: false,
вот в таком порядке попробуйте
 
"как должны выглядеть файлы обработчики, или обработчик, помогите кто может в реализации проекта."
опишите подробно чего вам не понятно, иначе как можем помочь
 
как должны выглядеть

В приведенном Вами фрагменте кода нужно вставить строки "async: false," в списки параметров Ajax запросов следующим образом:

Код:
function myfunc_1(i){
 $.ajax({
async: false,
 ...
 success: function(result){
 myfunc_2(i);
 }
 });
}
function myfunc_2(i){
 $.ajax({
async: false,
 ....
 success: function(result){
 next();
 }
 });
}
 
В приведенном Вами фрагменте кода нужно вставить строки "async: false," в списки параметров Ajax запросов следующим образом:

Код:
function myfunc_1(i){
$.ajax({
async: false,
...
success: function(result){
myfunc_2(i);
}
});
}
function myfunc_2(i){
$.ajax({
async: false,
....
success: function(result){
next();
}
});
}
я должен передать в файл обработчик -в
myfunc_1 данные из input -name, date
myfunc_2 данные из input -depart, out_date
как мне передать
и как должен выглядеть файл обработчик?
 
Смысл второй функции? Для чего счетчик i и что в length? Зачем setTimeout здесь? Почему обязательно последовательно?
Код:
$.ajax({
type: 'POST',
url: '/path/handler.php',
data: $('#recept-add').serialize(),
success: function(result){
                      alert('success!');
             }
});
В $_POST будут ваши данные. Как записать на PHP значения в БД - много примеров в интернете.
 
Назад
Сверху