Как призывание 2 функций в Javascript, AJAX и PHP

Я делаю прикладную программу, который, когда пользователь клика, этот призовет 2 функции, которые делают различные вещи.

Когда я даю клик, они посылают себе оба (уже я это проверил в программных средствах разработчика Chrome) и в самом деле отвечает правильно оба в PHP, однако, когда они возвращаются, только он появляется у меня второй полный div, первый не наполняется.

Я попробовал призывать функцию 2 в 1, но сейчас работает первая и не вторая.

Я послал называть это точно под этой линией:

            document.getElementById("employee").innerHTML = xmlhttp.responseText;
             }function getInteractions(str);
     };

но я не функционирую :'(

Они могли бы рекомендовать мне мочь делать? Здесь эта часть моего кода

JAVASCRIPT + АЯКС

function getEmployees(str) {

    if (str == "") {
        document.getElementById("employee").innerHTML = "";
        return;
    } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("employee").innerHTML = xmlhttp.responseText;
            }
        };
        xmlhttp.open("GET", "getEmployees.php?q=" + str, true);
        xmlhttp.send();
    }
}



function getInteractions(strg) {
    if (strg == "") {
        document.getElementById("interaction").innerHTML = "";
        return;
    } else {
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("interaction").innerHTML = xmlhttp.responseText;
            }
        };
        xmlhttp.open("GET", "getInteractions.php?a=" + strg, true);
        xmlhttp.send();
    }
}

HTML

<input type="text" id="theid" name="theid" placeholder="Escribe tu número de empleado" />
<button onclick="getEmployees($(#theid).val());getInteractions($(#theid).val());">Enviar</button>
<div id="employee"></div>
<div id="interaction"></div>
2
задан 30.04.2017, 05:24
3 ответа

попробуй использовать функцию when jquery. Следующий код был таким, как я решил ту же проблему, которая у тебя есть, он нуждался в том, чтобы наполнить какие-то каталоги и консультировать настоящую информацию для того, чтобы пользователь мог издавать данные.

    $.when(
        $.ajax({
            type: "GET",
            dataType: "json",
            url: "localhost/sistema",
            async: false,
            username: "cd",
            password: "****",
            success: function(data) {
                distritos = data;
            }
        }),
        $.ajax({
            type: "GET",
            dataType: "json",
            url: "localhost/sistema",
            async: false,
            username: "cd",
            password: "****",
            success: function(data) {
                reclusorios = data;
            }
        }),
        $.ajax({
            type: "GET",
            dataType: "json",
            url: "localhost/sistema",
            async: false,
            username: "cd",
            password: "****",
            success: function(data) {
                delitos = data;
            }
        }),

        $.ajax({
            type: "GET",
            dataType: "json",
            url: "localhost/sistema",
            async: false,
            username: "cd",
            password: "****",
            success: function(data) {
                datos = data;
            }
        })
    ).done(function() {
       // escribir html o lo que necesites...
}

В done уже у тебя были бы все данные, которых ты обсуждаешь с просьбами AJAX и которых сохраняешь в твоих переменных, в мой случай это преступления, и т.д.

2
ответ дан 24.11.2019, 13:57

Забытый сноп помещать кавычки в id составной части, в обоих случаях.

ты Должен заменять, $(#theid) из-за $('#theid'),

Пример...

<button onclick="getEmployees($('#theid').val()); getInteractions($('#theid').val());">
   Enviar
</button>

AquГ - оставил тебе demo , я не могу помещать ее aquГ - из-за которого stack snippets не выносят ajax .

1
ответ дан 24.11.2019, 13:57
  • 1
    Если, это была ошибка пальца, в самом деле, с или без запятых, я остаюсь с проблемой, не могу призывать в 2 функции в click. – Alberto Siurob 01.07.2016, 18:34
  • 2
    F и # 237; jate хорошо в примере, который оставляет, твой soluci и # 243; n функционируй хорошо. – rnrneverdies 01.07.2016, 18:41
  • 3
    Спасибо, это уже hab и # 237; в проверенный, в самом деле, если оно функционирует, если мы делаем установленным результат в JS. Моя проблема коренится в котором, когда я даю bot click и # 243; n, вооружается весь xmlhttp и env и # 237; в первую и возвратись с результатом и он это воплощает в соответствующем div, despu и # 233; s брось второй funci и # 243; n возвратись с ответом и он это гладит в div, соответствующем второму funci и # 243; n, per oel результат первого div исчезает и только остается второй.: ( – Alberto Siurob 01.07.2016, 22:24
  • 4
    Это не эксперт и # 237; они бросаются в параллели. И они прибывают из формы asincr и # 243; nica. Когда ты делаешь send, funci и # 243; n возвратись немедленной формы – rnrneverdies 02.07.2016, 02:42
  • 5
    убедись не имения другой вещи (css, javascript), что изменил результат, с этими кавычками код функционирует хорошо. – rnrneverdies 02.07.2016, 03:25

Ошибка появляется благодаря тому, что он восполняет запас, что ты получаешь от AJAX, работает асинхронной формы, следовательно нужно размещать async в false внутри твоего AJAX async: false

0
ответ дан 24.11.2019, 13:57

действительно, как он говорит, что @fancer проблема состоит в том, что ты делаешь одновременные призывы к этим функциям. Он будет давать тебе ошибки, если он заканчивает сначала вызов, который зависит от другой.
Помести в false последний параметр функции:

xmlhttp.open("GET", "getInteractions.php?a=" + false);
0
ответ дан 03.12.2019, 21:50

Теги

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