2015-12-21 86 views
2

我正在編寫一個擴展來將我們的API推回到我們的服務器文檔存儲 - 但似乎XMLHttpRequest不可用,可能是因爲缺少窗口對象。如何在Paw擴展中訪問XMLHttpRequest?

爪子裏有沒有其他的選擇?

獎金的問題:什麼是爪子在上面建了,有什麼事我們/我們是不是有機會獲得比瀏覽器?

回答

2

實際的XMLHttpRequest不適用於爪子,而是我們有NetworkHTTPRequest(doc here)。

下面是一個例子:

var httpRequest = new NetworkHTTPRequest(); httpRequest.requestUrl = "http://httpbin.org/post"; 
httpRequest.requestMethod = "POST"; 
httpRequest.setRequestHeader('Content-Type', 'application/json') 
httpRequest.requestBody = JSON.stringify({ 
    name: 'Paw' 
}) 
httpRequest.send() 

console.log('HTTP ' + httpRequest.responseStatusCode) 
var response = JSON.parse(httpRequest.responseBody) 
console.log(JSON.stringify(response, null, 2)); 

要回答的獎金部分,爸爸是用Objective-C(極少部分地區在C)原生Cocoa應用程序,但擴展使用JavaScript的核心,這也是在Mac和iOS上爲Safari提供動力的引擎。儘管這是純JavaScript,並沒有公開Web瀏覽器中可用的所有方法。它還支持一些ES6功能(請參閱Safari 9 on the ECMAScript 6 compatibility table)。

+1

真棒回答歡呼Micha。並感謝這款超酷的應用程序。 – Chris