簡體   English   中英

如何從。$ getJSON方法中的jQuery函數更新變量

[英]How to update a variable from a jQuery function inside a .$getJSON Method

通過此方法,我聲明了一個包含字符串值的變量“ answer”。 然后,我調用getJSON方法。 我想更新該方法中提到的變量:

function verificarRespuestasAjax(pregunta, pinId, respuesta, index){
        var answer = pregunta;
        $.getJSON("../usuarios/comparar_respuestas_JSON", {pinId: pinId, preguntaId: pregunta, respuesta: respuesta.val() }, function(verifRespuestas){
            if(verifRespuestas){
                $("#mensajeError"+index).remove();
                answer += 'true';
            }else{
                if (!$("#mensajeError"+index).length > 0)
                    $(respuesta).after('<em id="mensajeError'+index+'">*La respuesta no coincide</em>');
                answer += 'false';
            }

        });
        return answer;
    }

我應該怎么做?

提前致謝!

AJAX調用是異步的。 收到響應后應運行的任何代碼都必須位於成功回調(或該回調調用的函數)中。

您確實更新了變量。 唯一的問題是getJSON調用是異步的。 在執行alert() ,尚未調用getJSON的函數回調。

您將需要將您的alert(answer)代碼放入從JSON回調調用的函數中。

function verificarRespuestasAjax(pregunta, pinId, respuesta, index){
  var answer = pregunta;
  $.getJSON("../usuarios/comparar_respuestas_JSON", {pinId: pinId, preguntaId: pregunta, respuesta: respuesta.val() }, function(verifRespuestas){
    // .... snip ....
    completed();
  });
  answer += 'true';
  function completed() {
    alert( answer );
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM