Как получить доступ к XMLHttpRequest в расширении Paw?

Я пишу расширение, чтобы отправить наш API обратно в хранилище документации нашего сервера, но кажется, что XMLHttpRequest недоступен, возможно, из-за отсутствующего объекта окна.

Есть ли альтернатива в Paw?

Бонусный вопрос: на чем построен Paw, к чему мы имеем/не имеем доступ по сравнению с браузером?


person Chris    schedule 21.12.2015    source источник


Ответы (1)


Фактический XMLHttpRequest недоступен в Paw, но вместо него у нас есть NetworkHTTPRequest (документ здесь).

Вот пример:

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));

Чтобы ответить на бонусную часть, Paw — это родное приложение Cocoa, написанное на Objective-C (очень мало частей на C), но Extensions использует JavaScript Core, который также является движком, на котором работает Safari на Mac и iOS. Тем не менее, это обычный JavaScript и не предоставляет все методы, доступные в веб-браузерах. Он также поддерживает некоторые функции ES6 (см. Safari 9 в таблице совместимости ECMAScript 6). ).

person Micha Mazaheri    schedule 21.12.2015