Как использовать значение из ответа одной функции .AJAX в другой в качестве параметра для вставки в запрос POST - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь использовать значение, полученное из ответа в одной функции ajax, в качестве параметра в другом вызове функции ajax в html-файле. Извините, если это очень просто, но я очень новичок в этом.

Я пытался назвать значение тем же, что и в теле HTML, и во многих других попытках.

1 - вот начальный вызов (рабочий):

$.ajax({
          "url":api_base+"/endpoint_01",
          "type":"GET",
          "contentType":"application/json",
          "success":function(data){
            var data = data[0];
            $('#dash_value').html(data.value);
          }
        });

2 - вот как я получаю к нему доступ в html (:

<div class="highlighted-text" id="dash_value"></div>

3 - я не знаюНе знаю, как использовать это позже в файле:

function function_02(){
          $.ajax({
            "url":api_base+"endpoint_02?value=" + dash_value,
            "type":"POST",
            "beforeSend":function(){
              $('#button_01').prop('disabled', true);
            },
            "dataType":"text",
            "success":function(data){
              swal(data, {
                icon : "success",
                buttons: false,
                timer: 3000
              });
            },
            "complete":function(){
              $('#button_01').prop('disabled', false);
            }
          });
        }

POST должен быть отправлен следующим образом:

   https://endpoint02?value=dash_value

но я получаю все, кроме этого. Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Вам необходимо определить dash_value перед тем, как сделать второй вызов ajax.



function function_02(){
         const dash_value = $("dash_value").data()
          $.ajax({
            "url":api_base+"endpoint_02?value=" + dash_value,
            "type":"POST",
            "beforeSend":function(){
              $('#button_01').prop('disabled', true);
            },
            "dataType":"text",
            "success":function(data){
              swal(data, {
                icon : "success",
                buttons: false,
                timer: 3000
              });
            },
            "complete":function(){
              $('#button_01').prop('disabled', false);
            }
          });
        }

0 голосов
/ 02 октября 2019

Попробуйте объявить переменную вне области действия метода Ajax, чтобы код, находящийся за пределами метода, мог получить к ней доступ позже, а затем присвоить переменную возвращаемым данным внутри области действия ajax:

var outerScopeData = "";

$.ajax({
  "url":api_base+"/endpoint_01",
  "type":"GET",
  "contentType":"application/json",
  "success":function(data){
    var data = data[0];

    // add this here:
    outerScopeData = data.value;

    $('#dash_value').html(data.value);
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...