2015-12-21 35 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