[英]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.