arr 값을 가져올 수 없습니다. 어떤 제안 ...중첩 된 함수에서 값 가져 오기
답변
아래의 코드와 아무것도 같다 문제는 당신이 편곡을 반환 할 때 $ .post이 그것을 그렇게, 비동기 때문이다 아직 가치가 없습니다. 이 같은
시도 뭔가 : 응답이 수신되기 전에 함수의 내용은 실행
function my_f(callback) {
$.post('data.php', function(data) {
var arr = $.makeArray($("tr",data).map(function(){
return $(this).attr("id");
}).get());
callback(arr);
return false;
});
}
my_f(alert);
감사합니다 남자 ... 그게 ... 경고 데이터,하지만 지금은 var에 데이터를 넣어? –
"arr"이라는 변수에 이미 있습니다. 콜백 함수 내에서해야 할 일은 모두해야합니다. 또한, 문제가 해결되면 문제를 해결할 수 있습니다. 이것이 가장 유용한 대답이라면 그것을 받아들이십시오. 그래서이 페이지의 미래 방문자는 즉시 어떤 대답이 그들의 문제를 해결하는지 알게 될 것입니다. –
괜찮 았어 ... 내가 만들었지 만 지금은 그 데이터를 var 'name'에 연결하는 방법을 모른다. 코드의 다른 부분 인 $ .post ('data.php', 'name ='+ // arr data ??? //, function (data) {.... –
post
은 비동기 호출이므로 작동하지 않습니다. my_f()
에 전화하면 post
을 호출하고 post
을 완료하지 않고 arr
을 반환합니다.
AJAX는 이러한 방식으로 작동하지 않습니다. $.post
은 후에 거의 항상 을 완료하려고하는 서버에 대한 비동기 요청을 호출합니다.
이것은 일반적으로 중단되는 방식입니다.
- (요청이 완료되지 않았기 때문에 null을 반환)
을
arr
이 설정되어 있지만, 너무 늦었) 완료 기능을arr
을 설정하지 않고 모든 것이로드되기 전에 경고가 실행 중입니다. 당신이 $(//code to run)
에 경고를 감싸는 경우 해당 편곡을 보여주는 경고를 얻을 것이다 것은 function my_f() {
var arr = '';
$.post('data.php', function(data) {
arr = $.makeArray ($("tr",data).map(function(){return $(this).attr("id")}).get());
return false;
//alert(arr); ...this work
});
return arr;
}
$(alert(my_f())); //return undefined
.
게시 기능에 전달하는 기능은 콜백 기능입니다. 콜백 함수는 응답을받을 때 실행되는 함수입니다.
또한 "콜백"함수는 응답을 받았을 때가 아니라 게시 기능을 호출 한 후에 실행되기 때문에 콜백 함수가 아닙니다.
또한 배열에 경고하면 많은 정보를 얻을 수 없으므로 console.log()를 사용하여 테스트하십시오.
마지막으로 "콜백"이라는 함수가 아닌 콜백 함수 내에서 관련 값 (arr 값)을 사용할 수 있습니다.
이 정보가 도움이되기를 바랍니다.
- 1. 중첩 된 함수에서 반환 값 가져 오기
- 2. 함수에서 값 가져 오기
- 3. Node.js의 중첩 된 함수에서 변수 가져 오기
- 4. 중첩 함수에서 변수 가져 오기
- 5. Jquery 함수에서 값 가져 오기
- 6. 다른 함수에서 값 가져 오기
- 7. XSLT : 속성 가져 오기 중첩 된 값
- 8. 중첩 된 json 응답에서 값 가져 오기
- 9. 중첩 된 gridview에서 확인란 값 가져 오기
- 10. 중첩 된 맵에서 값 가져 오기
- 11. 중첩 된 배열에서 값 가져 오기
- 12. 중첩 된 json에서 키 값 가져 오기
- 13. 중첩 된지도에서 값 가져 오기
- 14. 중첩 된 속성의 배열에서 개체 중첩 값 가져 오기
- 15. JavaScript 함수에서 아약스 값 가져 오기
- 16. PLSQL 함수에서 값 배열 가져 오기
- 17. setInterval 함수에서 리턴 값 가져 오기
- 18. VBscript의 자바 스크립트 함수에서 값 가져 오기
- 19. PHP 함수에서 잘못된 반환 값 가져 오기
- 20. Node-RED 함수에서 설정 값 가져 오기
- 21. 다른 함수에서 JQuery 값 가져 오기
- 22. 함수에서 특정 값 가져 오기 R
- 23. "값"가져 오기 및 다른 함수에서 사용하십시오.
- 24. 아약스 호출이있는 함수에서 json 값 가져 오기
- 25. 자바 스크립트 함수에서 반환 된 값 가져 오기
- 26. SQLdatasource를 사용하여 테이블 반환 함수에서 반환 된 값 가져 오기
- 27. 파이썬에서 반환 된 함수에서 속성 가져 오기
- 28. 루아 - 중첩 테이블에서 값 가져 오기
- 29. 리플렉션을 사용하여 중첩 클래스에서 값 가져 오기
- 30. 중첩 배열에서 배열 키 값 가져 오기
AJAX 호출은 비동기입니다. 그것에 대해 읽어보십시오. –
AJAX는 * 비동기 *입니다. AJAX 호출에서 값을 반환 할 수 없습니다. 모든 작업은 콜백에서 수행해야합니다. –
문제는 게시가 완료되기 전에 값이 반환되고 "경고"되어 실제로 원하는 흥미로운 값을 할당한다는 것입니다. –