2011-10-17 82 views
1

下調用的getData()返回JavaScript的populateForm()方法取決於..jQuery的回調頭疼

在警報從的getData適當的JS方法()都存在..沒有報警,我得到一個js錯誤,這些方法不存在。

它的工作原理與警報目前沒有..它失敗..我似乎無法捕獲它的回調正確的..任何幫助表示讚賞 -

我怎樣才能使它發揮作用?

elqTracker.getData({ 
    key: contactLookup, 
    lookup: "<C_EmailAddress>" + getCookie('c_Email') + "</C_EmailAddress>", 
    success: function() { 
     //alert('---' + getCookie('c_Email')); 
     populateForm(formName); 
     trackPage().done(function(guid) { 
      $('#elqCustomerGUID').val(guid); 
     }); 
    } 
}); 
+0

您正在調用getData,但沒有做任何處理,結果我可以看到。 getData調用的數據在哪裏去? – jfriend00

+0

getData只是返回javascript ..它是在populateForm()方法中訪問的 – patrick

回答

0

我什麼都不知道什麼getData()調用實際上做,但如果加入alert()突然讓工作上的事情,那麼它很可能是因爲您有不正確的等待完成的異步操作。添加alert()使其工作,因爲異步呼叫在屏幕上時完成,因此在執行alert()之後的下一行之前編輯完成。

在您的getData()調用的文檔中必須有一些內容,告訴您如何成功等待它完成。顯然成功回調是不夠的。

如果getData()調用正在加載JavaScript,如您在評論中所述,那麼您可能需要等待該JavaScript完成加載。也許有一個不同的回調鉤完成時。

+0

正是..我似乎無法使第二個調用工作.. getData是一個異步調用..我只是無法弄清楚自populateForm ()已經成功回調 – patrick