2015-04-02 20 views
1

我的網絡中有一個Kendo編輯器,並且有一個按鈕用於將內容保存到OneNote。Onenote API,當JavaScript的PATCH出現奇怪的行爲

保存按鈕調用此函數:

updatePageContent: function (pageId, elementId, content) { 
     deferred = $q.defer(); 

     var Request = new XMLHttpRequest(); 

     Request.open('PATCH', 'https://www.onenote.com/api/beta/pages/' + pageId + '/content'); 

     Request.setRequestHeader('Content-Type', 'application/json'); 
     Request.setRequestHeader('Authorization', 'Bearer ' + onenoteApi.token); 

     Request.onreadystatechange = onPageUpdated; 

     var body = [{ 
       'target': elementId, 
       'action': 'replace', 
       'content': '<div data-id=content>' + 
           content + 
         '</div>' 
     }] 

     Request.send(JSON.stringify(body)); 

     return deferred.promise; 
    } 

做工精細的第2次,但是當我嘗試三分之一的時候,奇怪的事情發生了。

例子:

我有一個文本默認段落,我再加一條:

默認文本

BLA1

保存很好。所以,我想補充的另一段:

默認文本

BLA1

bla2

保存很好。還有一句:

默認文本

BLA1

bla2

bla3

保存,這是結果在OneNote:

BLA1

默認文本

BLA1

bla2

bla3

和蓋帽去頁,如果我嘗試再次補丁,我有一個拒絕訪問錯誤。

+0

好吧,也許這不是問題,但我想你仍然需要在這行''div data-id =「content」>'中添加引號,因爲目前這是一個無效的Html。 – 2015-04-02 10:48:22

+0

如果我放置引號,它會複製它們。一開始我用它們。 – 2015-04-02 11:06:03

+0

Hi Panzer,來自OneNote API團隊的工程師。這似乎是我們方面的一個缺陷。我們正在調查並在解決時迴應。感謝您找到這個! – 2015-04-02 12:00:19

回答

1

這是OneNote API中的錯誤,並且已被固定在服務器端。感謝您的報告!