$.post 안에서 리턴을 못하나요? 채택완료
완성형은 아니지만
작성하다 보니 아래처럼 코드가 되었습니다.
</p>
<p><?php
include_once ('./_common.php');
include_once (G5_PATH.'/head.php');</p>
<p>?>
<script type="text/javascript"></p>
<p>$(document).ready(function(){
$(document).on("click", "button", function(){
var temp = foo(99);
console.log("함수 리턴값", temp);
});
});</p>
<p>function foo(idx){
$.post("./ajax.php", {idx:idx}, function(data){
console.log("ajax안의 값", data.idx);
return data.idx;
}, "json");
}
</script>
<button type="button">버튼</button></p>
<p>
<?php
include_once (G5_PATH.'/tail.php') ;</p>
<p>
함수안에 $.post안의 data.idx 값을 foo함수 리턴값으로
리턴을 하려면 어떻게 해야 하나요?
답변 4개
이렇게 해보세요
</p>
<pre>
<code>function foo(idx){
var data_idx;
</code> $.ajaxSetup({ async: false });<code>
$.post("./ajax.php", {idx:idx}, function(data){
console.log("ajax안의 값", data.idx);
data_idx = data.idx;
}, "json");
return data_idx;
}</code></pre>
<p>
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
var temp = foo(99);<--- foo를 호출하고 바로 다음행으로 진행 되어버리기 때문에
다음행에서 return값을 못받은 상태로 출력하게 됩니다
굳이 이렇게 할 필요가 있나요?
$(document).on("click", "button", function(){
idx = 99; $.post("./ajax.php", {idx:idx}, function(data){ var temp = data.idx; console.log(" 리턴값", temp); }, "json"); });
댓글을 작성하려면 로그인이 필요합니다.
<script type="text/javascript">
$(document).ready(function(){
$(document).on("click", "button", async function(){
var temp = await foo(99);
console.log("함수 리턴값", temp);
});
});
async function foo(idx){
return $.post("./ajax.php", {idx:idx}, function(data){
console.log("ajax안의 값", data.idx);
return data.idx;
}, "json");
}
</script>
<button type="button">버튼</button></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인