2012-03-19 5 views
-1

나는 아약스 전화를했고, 다음과 같은 콜백 함수에서 응답을 얻었다 완료된 후 반환 할 필요가있다 :. 내가 직면하고값은 아약스 응답이

var v=""; 
.... 
jq.post(contextPath + "/dmp/workspace/inlineCssExtraction", { 
     jsonForSaveInlineCss: JSON.stringify(styleArr) 
    }, function(data) { 
v=data; 
}); 

return v; 

문제를, 내가 V의 빈 값을 얻고있다 나는 생각한다 이유는, 아약스 응답은 오랜 시간이 걸리고이 retun v 전에; 라인이 실행됩니다. 이 문제를 해결할 방법이 있습니까?

감사

+2

, 난이/유사한 quetions의 제비가 답변을하고 싶지 사용 후 방법을 생각하면 U가 .ajax()을 확인 할 수 있습니다 ... –

답변

0

당신은 AJAX가 비동기 이런 식으로 .... 할 수없는 - 반환 식을 당신은 어떤 것 함수에 데이터를 전달할 수

jq.post(contextPath + "/dmp/workspace/inlineCssExtraction", { 
     jsonForSaveInlineCss: JSON.stringify(styleArr) 
    }, function(data) { 
     processdata(data); 
}); 

콜백 함수 이전에 실행 얻을 것이다 AJAX의 성공에 호출 할 것은

+0

그래! 나는 그것의 비동기를 잊었다. 나는 그것을 다른 방법으로 할 것이다. 어쨌든, 귀하의 게시물 주셔서 감사합니다! –

0

u는 $ .post 방법

function returnText() 
{ 
    var json = $.ajax({type: "GET", url: "test.php?teststr=i", async: false}).responseText;  
    return json; 
} 
으로 값을 반환 할 수 없습니다 ..이 시도3210

당신이 먼저 검색 않았다

var request = $.ajax({ 
    url: "script.php", 
    type: "POST", 
    data: {id : menuId}, 
    dataType: "html" 
});