2014-09-04 22 views
0

我有一個問題,我們有Trello API將一張新卡添加到定義的列表中,並且它已成功添加到列表中,但是我們試圖使用.done關閉當前窗口並打開硬編碼trello板。此代碼用於從CRM獲取記錄並將代碼複製到Trello。Trello API沒有調用成功處理程序?

var creatingtheCard = function() { 
     var record = getRecord(getParameterByName("id")) 

     if (record.Description == null) { 
      record.Description = ""; 
     } 

     var options = document.getElementById("ListNameItem"); 
     var listId = options[options.selectedIndex].value 

     Trello.post("cards", { name: record.Title, desc: record.Description + " - " + record.CustomerId.Name, idList: listId}) 
     .done(closeWinOpenTrello) 
     .error(failure); 
    } 

    function closeWinOpenTrello() { 
     window.open("http://trello.com/b/8QWBDiTI") 
     window.close() 
    } 

這個函數被調用併成功創建了Trello新卡,但它不會執行closeWinOpenTrello功能,但它會執行.error。

另外我在調試器中運行這個,當我一步一步地運行代碼時,它會給出錯誤,然後關閉窗口並用Trello打開一個新窗口。

在此先感謝

更新1

這是失敗的功能

var failure = function (error) { 
     alert(error.statusText); 
    } 
+0

給出的迴應是什麼(狀態碼和正文)?此外,Trello api只是返回由'$ .ajax'返回的對象,'.error'已棄用 - 您應該使用'.fail'來代替。 – 2014-09-04 17:24:07

+0

我唯一得到的是一條讀取「錯誤」的錯誤消息,那就是我也將它改爲.fail,正如所建議的那樣,但結果沒有差別。 – SmallerMe 2014-09-05 08:26:18

+0

這大概是一個跨域請求,這意味着你不能從JavaScript獲得實際的錯誤。您需要以另一種方式檢查請求 - Chrome開發工具面板中的「網絡」選項卡可以正常工作。 – 2014-09-05 14:52:50

回答

0

您需要取消表單提交。否則,頁面更改會導致請求狀態cancelled - 瀏覽器不會在頁面更改後等待響應,因爲不再有任何響應等待。

爲了做到這一點,只需從onsubmit處理程序返回false

+0

排序它,謝謝 – SmallerMe 2014-09-09 09:59:31

相關問題