2013-02-25 4 views
1

아약스 요청을 수행하고 싶으면 반환 된 HTML을 div에 추가하고 일단 해당 데이터가 추가되면 다른 아약스를 수행하십시오. 요청은 이전에 추가 된 HTML에 내용을 추가합니다. 하지만 분명히 구문 오류가 있습니다. then()done()을 잘못 연결하고 있습니까?

$.when(append_line_item()) 
.then(function (line_item_data) { 
    $('#line_items').append(line_item_data)} 
    .done(populateMainProductsSelect()) 
); 

답변

2

당신은 지나치게 생각을, 당신이이 경우에 $.when 또는 $.then 필요하지 않습니다입니다.

// assuming append_line_item() returns a promise object 
append_line_item().done(function(line_item_data){ 
    $('#line_items').append(line_item_data); 
    populateMainProductsSelect(); 
}); 

는 구문 오류가 여기에 발생합니다

done(populateMainProductsSelect()) 

방금 ​​특히 ()

done(populateMainProductsSelect) 
+0

를 제거해야, 첨부 된 작업이 동기 그냥 호출 할 수 있도록, 비동기하지 두 번째 AJAX 함수는'.append()'바로 다음에있다. – Alnitak

+0

그렇습니다. 그것은 약속의 대상입니다. jqXHR 객체에는 promise 객체 –

+0

을 반환하는 .promise 메소드가 있습니다. 자동으로 생성 된 것 같습니다. 고맙습니다. – 1252748

관련 문제