Передать значения переменных из функции js в ajax как данные - PullRequest
0 голосов
/ 14 сентября 2018

В настоящее время у меня есть javascript, так что при нажатии кнопки он запускает мой мод и захватывает данные, показанные на этом модале, которые будут использоваться в AJAX (это для удаления, поэтому я показываю подтвержденные данные в модальный, который будет передан функции удаления в базе данных).

В любом случае, я регистрирую здесь все и у меня есть именно то, что мне нужно. Однако я не уверен, как передать эти вещи в функцию ajax за ее пределами.

Вот js, который открывает модал и захватывает то, что мне нужно

$('.deleteModal').click(function(){
    var groupingSplit = grouping.split(" - ");
        namingSplit = naming.match(/[a-z0-9]+/gi);
        number = groupingSplit[0];
        name = groupingSplit[1];
        2ndNumber = namingSplit[0];
        3rdNumber = namingSplit[1];
        referenceNumber = document.getElementById("reference").value;

    console.log(number);
    console.log(name);
    console.log(2ndNumber);
    console.log(3rdNumber);
    console.log(referenceNumber);

})

и вне этого я строю ajax:

$("#deleteButton").click(function(e){
    e.preventDefault(e);

    $.ajax({
        url:'deleteFunction',
        data:{
            /*Here I need 
                number
                name
                2ndNumber
                3rdNumber
                referenceNumber
            from the other function
            */
        },
        "_token": "{{ csrf_token() }}",
        type:"POST",
        success:function(data){
            console.log(data);
        },
        error: function(jqxhr, status, exception) {
             alert('Exception:', exception);
         }
    });
}

Как лучше всего передать эти данные из первой функции в AJAX?

1 Ответ

0 голосов
/ 14 сентября 2018

Вам понадобится способ обмена данными между обеими функциями.

Самый простой способ - использовать глобальные переменные

let deleteData = {};

$('.deleteModal').click(function(){
    var groupingSplit = grouping.split(" - ");
        namingSplit = naming.match(/[a-z0-9]+/gi);
        number = groupingSplit[0];
        name = groupingSplit[1];
        secondNumber = namingSplit[0];
        thirdNumber = namingSplit[1];
        referenceNumber = document.getElementById("reference").value;
    deleteData = {number, name, secondNumber, thirdNumber, referenceNumber};

})

, а затем обращаться к ним в другой функции

$("#deleteButton").click(function(e){
    e.preventDefault(e);

    $.ajax({
        url:'deleteFunction',
        data:deleteData,
        "_token": "{{ csrf_token() }}",
        type:"POST",
        success:function(data){
            console.log(data);
        },
        error: function(jqxhr, status, exception) {
             alert('Exception:', exception);
         }
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...