나는 jQuery에서 변수 범위를 완전히 파악하지 못했고 왜 "final_shasign"변수가 AJAX 내부에서 제대로 나오지만 선언되어 있음에도 불구하고 AJAX 외부에서 정의되지 않은 이유를 이해할 필요가 있다고 생각한다. AJAX 외부. 시간에 당신이 아약스 콜백 함수 외부 변수의 값을 읽으려고 있도록자바 스크립트 변수가 아약스를 통해 업데이트되지 않는다
var final_shasign; // initial declaration outside of ajax block below
$.ajax({
type: "POST",
url: "sha.php",
data: "amount="+amount+"&cn="+cn+"¤cy="+currency+"&language="+language+"&orderid="+orderid+"&pspid="+pspid,
success: function(response_data, final_shasign){
var parsed_data = $.parseJSON(response_data);
final_shasign = parsed_data.shasign;
console.log ("inside nested ajax: " + final_shasign); //comes out fine
}
});
console.log ("outside of nested ajax: " + final_shasign); //comes out as undefined!
AJAX와 같은 시도 할 수 있습니다 비동기입니다 ...의 –
중복 가능성 [AJAX를 호출의 응답을 반환하는 방법?] (http://stackoverflow.com/questions/14220321/ajax-call에서 응답하는 방법) –